// Indexed by OPC
const Opcode OpcodeTableEncodings[] = {
  // invalid
  {0, 0, 0, 0, NA, NA, NA, NA, NA, {}, {}, {}},
  {2, 4, 0, 0, NA, NA, NA, 2, NA,  // add_16_ax_imm16
   {OK::IMPLICIT_AX, OK::IMM16},
   {0x66, 0x05, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // add_16_mB32_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // add_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // add_16_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 2, NA, 3, 4, NA,  // add_16_mB8_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x40, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // add_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x40, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // add_16_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x01, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 5, 2, 0, 2, NA, NA, 3, NA,  // add_16_mB_imm16
   {OK::MODRM_RM_BASE, OK::IMM16},
   {0x66, 0x81, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // add_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_16},
   {0x66, 0x83, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // add_16_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG16},
   {0x66, 0x01, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 10, 2, 0, 2, 3, 4, 8, NA,  // add_16_mbis32_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // add_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // add_16_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x01, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 2, 3, 4, 5, NA,  // add_16_mbis8_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x44, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // add_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // add_16_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x01, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 6, 2, 0, 2, 3, NA, 4, NA,  // add_16_mbis_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM16},
   {0x66, 0x81, 0x04, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // add_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_16},
   {0x66, 0x83, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // add_16_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16},
   {0x66, 0x01, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 10, 2, 0, 2, 3, 4, 8, NA,  // add_16_mi32_imm16
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // add_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // add_16_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x01, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // add_16_mpc32_imm16
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // add_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // add_16_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 2, NA, NA, 3, NA,  // add_16_mr_imm16
   {OK::MODRM_RM_REG16, OK::IMM16},
   {0x66, 0x81, 0xc0, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // add_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8_16},
   {0x66, 0x83, 0xc0, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // add_16_mr_r
   {OK::MODRM_RM_REG16, OK::MODRM_REG16},
   {0x66, 0x01, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // add_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x03, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // add_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // add_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x03, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // add_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x03, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // add_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x03, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // add_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x03, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // add_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // add_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // add_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x03, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 5, 0, 0, NA, NA, NA, 1, NA,  // add_32_eax_imm32
   {OK::IMPLICIT_EAX, OK::IMM32},
   {0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // add_32_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // add_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // add_32_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x01, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 3, NA,  // add_32_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // add_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x40, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // add_32_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32},
   {0x01, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 3, 0, 1, NA, NA, 2, NA,  // add_32_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32},
   {0x81, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // add_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_32},
   {0x83, 0x00, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // add_32_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG32},
   {0x01, 0x00},
   {0xff, 0xc0}},
  {5, 11, 3, 0, 1, 2, 3, 7, NA,  // add_32_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // add_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // add_32_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x01, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 4, NA,  // add_32_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // add_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // add_32_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32},
   {0x01, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, NA, 3, NA,  // add_32_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32},
   {0x81, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // add_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_32},
   {0x83, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // add_32_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32},
   {0x01, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 3, 0, 1, 2, 3, 7, NA,  // add_32_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // add_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // add_32_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x01, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // add_32_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // add_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // add_32_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x01, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 0, 1, NA, NA, 2, NA,  // add_32_mr_imm32
   {OK::MODRM_RM_REG32, OK::IMM32},
   {0x81, 0xc0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // add_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8_32},
   {0x83, 0xc0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // add_32_mr_r
   {OK::MODRM_RM_REG32, OK::MODRM_REG32},
   {0x01, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // add_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x03, 0x00},
   {0xff, 0xc0}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // add_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x03, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // add_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x03, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // add_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x03, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // add_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x03, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // add_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x03, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // add_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // add_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x03, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // add_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x03, 0xc0},
   {0xff, 0xc0}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // add_64_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // add_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // add_64_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x01, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 3, NA,  // add_64_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // add_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x40, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // add_64_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64},
   {0x01, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 4, 1, 1, NA, NA, 2, NA,  // add_64_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32_64},
   {0x81, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // add_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_64},
   {0x83, 0x00, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // add_64_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG64},
   {0x01, 0x00},
   {0xff, 0xc0}},
  {5, 11, 4, 1, 1, 2, 3, 7, NA,  // add_64_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // add_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // add_64_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x01, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 4, NA,  // add_64_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // add_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // add_64_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64},
   {0x01, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, NA, 3, NA,  // add_64_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32_64},
   {0x81, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // add_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_64},
   {0x83, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // add_64_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64},
   {0x01, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 4, 1, 1, 2, 3, 7, NA,  // add_64_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // add_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // add_64_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x01, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // add_64_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // add_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // add_64_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x01, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 1, 1, NA, NA, 2, NA,  // add_64_mr_imm32
   {OK::MODRM_RM_REG64, OK::IMM32_64},
   {0x81, 0xc0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // add_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8_64},
   {0x83, 0xc0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // add_64_mr_r
   {OK::MODRM_RM_REG64, OK::MODRM_REG64},
   {0x01, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // add_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x03, 0x00},
   {0xff, 0xc0}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // add_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x03, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // add_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x03, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // add_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x03, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // add_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x03, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // add_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x03, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // add_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // add_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x03, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // add_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x03, 0xc0},
   {0xff, 0xc0}},
  {2, 5, 0, 1, NA, NA, NA, 1, NA,  // add_64_rax_imm32
   {OK::IMPLICIT_RAX, OK::IMM32_64},
   {0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, NA, NA, NA, 1, NA,  // add_8_al_imm8
   {OK::IMPLICIT_AL, OK::IMM8},
   {0x04, 0x00},
   {0xff, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // add_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // add_8_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x00, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // add_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x40, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // add_8_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8},
   {0x00, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // add_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x80, 0x00, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // add_8_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG8},
   {0x00, 0x00},
   {0xff, 0xc0}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // add_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // add_8_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // add_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // add_8_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8},
   {0x00, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // add_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x80, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // add_8_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8},
   {0x00, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // add_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // add_8_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x00, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // add_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // add_8_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x00, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // add_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0x80, 0xc0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // add_8_mr_r
   {OK::MODRM_RM_REG8, OK::MODRM_REG8},
   {0x00, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // add_8_r_mB
   {OK::MODRM_REG8, OK::MODRM_RM_BASE},
   {0x02, 0x00},
   {0xff, 0xc0}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // add_8_r_mB32
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x02, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // add_8_r_mB8
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x02, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // add_8_r_mbis
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x02, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // add_8_r_mbis32
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x02, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // add_8_r_mbis8
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x02, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // add_8_r_mi32
   {OK::MODRM_REG8, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x02, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // add_8_r_mpc32
   {OK::MODRM_REG8, OK::RIP_BASE, OK::OFFABS32},
   {0x02, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // add_8_r_mr
   {OK::MODRM_REG8, OK::MODRM_RM_REG8},
   {0x02, 0xc0},
   {0xff, 0xc0}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // addsd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x58, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // addsd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // addsd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x58, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // addsd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x58, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // addsd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x58, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // addsd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x58, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // addsd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x58, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // addsd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x58, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // addsd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x58, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // addss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x58, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // addss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x58, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // addss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x58, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // addss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x58, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // addss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x58, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // addss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x58, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // addss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x58, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // addss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x58, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // addss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x58, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 0, 0, NA, NA, NA, 2, NA,  // and_16_ax_imm16
   {OK::IMPLICIT_AX, OK::IMM16},
   {0x66, 0x25, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // and_16_mB32_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // and_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // and_16_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x21, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 2, NA, 3, 4, NA,  // and_16_mB8_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x60, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // and_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x60, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // and_16_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x21, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 5, 2, 0, 2, NA, NA, 3, NA,  // and_16_mB_imm16
   {OK::MODRM_RM_BASE, OK::IMM16},
   {0x66, 0x81, 0x20, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // and_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_16},
   {0x66, 0x83, 0x20, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // and_16_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG16},
   {0x66, 0x21, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 10, 2, 0, 2, 3, 4, 8, NA,  // and_16_mbis32_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // and_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // and_16_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x21, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 2, 3, 4, 5, NA,  // and_16_mbis8_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x64, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // and_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x64, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // and_16_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x21, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 6, 2, 0, 2, 3, NA, 4, NA,  // and_16_mbis_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM16},
   {0x66, 0x81, 0x24, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // and_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_16},
   {0x66, 0x83, 0x24, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // and_16_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16},
   {0x66, 0x21, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 10, 2, 0, 2, 3, 4, 8, NA,  // and_16_mi32_imm16
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // and_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // and_16_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x21, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // and_16_mpc32_imm16
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // and_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // and_16_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x21, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 2, NA, NA, 3, NA,  // and_16_mr_imm16
   {OK::MODRM_RM_REG16, OK::IMM16},
   {0x66, 0x81, 0xe0, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // and_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8_16},
   {0x66, 0x83, 0xe0, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // and_16_mr_r
   {OK::MODRM_RM_REG16, OK::MODRM_REG16},
   {0x66, 0x21, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // and_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x23, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // and_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x23, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // and_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x23, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // and_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x23, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // and_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x23, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // and_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x23, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // and_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x23, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // and_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x23, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // and_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x23, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 5, 0, 0, NA, NA, NA, 1, NA,  // and_32_eax_imm32
   {OK::IMPLICIT_EAX, OK::IMM32},
   {0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // and_32_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // and_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // and_32_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x21, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 3, NA,  // and_32_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // and_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x60, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // and_32_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32},
   {0x21, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 3, 0, 1, NA, NA, 2, NA,  // and_32_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32},
   {0x81, 0x20, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // and_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_32},
   {0x83, 0x20, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // and_32_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG32},
   {0x21, 0x00},
   {0xff, 0xc0}},
  {5, 11, 3, 0, 1, 2, 3, 7, NA,  // and_32_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // and_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // and_32_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x21, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 4, NA,  // and_32_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // and_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x64, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // and_32_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32},
   {0x21, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, NA, 3, NA,  // and_32_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32},
   {0x81, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // and_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_32},
   {0x83, 0x24, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // and_32_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32},
   {0x21, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 3, 0, 1, 2, 3, 7, NA,  // and_32_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // and_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // and_32_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x21, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // and_32_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // and_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // and_32_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x21, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 0, 1, NA, NA, 2, NA,  // and_32_mr_imm32
   {OK::MODRM_RM_REG32, OK::IMM32},
   {0x81, 0xe0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // and_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8_32},
   {0x83, 0xe0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // and_32_mr_r
   {OK::MODRM_RM_REG32, OK::MODRM_REG32},
   {0x21, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // and_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x23, 0x00},
   {0xff, 0xc0}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // and_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x23, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // and_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x23, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // and_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x23, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // and_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x23, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // and_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x23, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // and_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x23, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // and_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x23, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // and_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x23, 0xc0},
   {0xff, 0xc0}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // and_64_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // and_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // and_64_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x21, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 3, NA,  // and_64_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // and_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x60, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // and_64_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64},
   {0x21, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 4, 1, 1, NA, NA, 2, NA,  // and_64_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32_64},
   {0x81, 0x20, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // and_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_64},
   {0x83, 0x20, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // and_64_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG64},
   {0x21, 0x00},
   {0xff, 0xc0}},
  {5, 11, 4, 1, 1, 2, 3, 7, NA,  // and_64_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // and_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // and_64_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x21, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 4, NA,  // and_64_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // and_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x64, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // and_64_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64},
   {0x21, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, NA, 3, NA,  // and_64_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32_64},
   {0x81, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // and_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_64},
   {0x83, 0x24, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // and_64_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64},
   {0x21, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 4, 1, 1, 2, 3, 7, NA,  // and_64_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // and_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // and_64_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x21, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // and_64_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // and_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // and_64_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x21, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 1, 1, NA, NA, 2, NA,  // and_64_mr_imm32
   {OK::MODRM_RM_REG64, OK::IMM32_64},
   {0x81, 0xe0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // and_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8_64},
   {0x83, 0xe0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // and_64_mr_r
   {OK::MODRM_RM_REG64, OK::MODRM_REG64},
   {0x21, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // and_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x23, 0x00},
   {0xff, 0xc0}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // and_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x23, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // and_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x23, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // and_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x23, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // and_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x23, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // and_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x23, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // and_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x23, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // and_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x23, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // and_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x23, 0xc0},
   {0xff, 0xc0}},
  {2, 5, 0, 1, NA, NA, NA, 1, NA,  // and_64_rax_imm32
   {OK::IMPLICIT_RAX, OK::IMM32_64},
   {0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, NA, NA, NA, 1, NA,  // and_8_al_imm8
   {OK::IMPLICIT_AL, OK::IMM8},
   {0x24, 0x00},
   {0xff, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // and_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // and_8_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x20, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // and_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x60, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // and_8_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8},
   {0x20, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // and_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x80, 0x20, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // and_8_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG8},
   {0x20, 0x00},
   {0xff, 0xc0}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // and_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // and_8_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x20, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // and_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x64, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // and_8_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8},
   {0x20, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // and_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x80, 0x24, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // and_8_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8},
   {0x20, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // and_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // and_8_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x20, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // and_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // and_8_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x20, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // and_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0x80, 0xe0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // and_8_mr_r
   {OK::MODRM_RM_REG8, OK::MODRM_REG8},
   {0x20, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // and_8_r_mB
   {OK::MODRM_REG8, OK::MODRM_RM_BASE},
   {0x22, 0x00},
   {0xff, 0xc0}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // and_8_r_mB32
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x22, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // and_8_r_mB8
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x22, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // and_8_r_mbis
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x22, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // and_8_r_mbis32
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x22, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // and_8_r_mbis8
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x22, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // and_8_r_mi32
   {OK::MODRM_REG8, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x22, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // and_8_r_mpc32
   {OK::MODRM_REG8, OK::RIP_BASE, OK::OFFABS32},
   {0x22, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // and_8_r_mr
   {OK::MODRM_REG8, OK::MODRM_RM_REG8},
   {0x22, 0xc0},
   {0xff, 0xc0}},
  {1, 5, 0, 0, NA, NA, 1, NA, NA,  // call_32
   {OK::OFFPCREL32},
   {0xe8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 4, 0, 1, NA, NA, NA, NA,  // call_64_mB
   {OK::MODRM_RM_BASE},
   {0xff, 0x10},
   {0xff, 0xf8}},
  {2, 6, 4, 0, 1, NA, 2, NA, NA,  // call_64_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xff, 0x90, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 0, 1, NA, 2, NA, NA,  // call_64_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xff, 0x50, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 0, 1, 2, NA, NA, NA,  // call_64_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xff, 0x14, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 4, 0, 1, 2, 3, NA, NA,  // call_64_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 0, 1, 2, 3, NA, NA,  // call_64_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xff, 0x54, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 4, 0, 1, 2, 3, NA, NA,  // call_64_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0x14, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 4, 0, 1, NA, 2, NA, NA,  // call_64_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xff, 0x15, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // call_64_mr
   {OK::MODRM_RM_REG64},
   {0xff, 0xd0},
   {0xff, 0xf8}},
  {2, 1, 0, 0, NA, NA, NA, NA, NA,  // cdq_32_edx_eax
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX},
   {0x99},
   {0xff}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmova_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x47, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmova_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmova_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x47, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmova_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x47, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmova_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x47, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmova_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x47, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmova_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x47, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmova_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x47, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmova_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x47, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmova_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x47, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmova_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmova_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x47, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmova_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x47, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmova_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x47, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmova_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x47, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmova_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x47, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmova_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x47, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmova_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x47, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmova_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x47, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmova_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmova_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x47, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmova_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x47, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmova_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x47, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmova_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x47, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmova_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x47, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmova_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x47, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmova_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x47, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovae_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x43, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovae_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x43, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovae_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x43, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovae_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x43, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovae_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x43, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovae_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x43, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovae_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x43, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovae_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovae_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x43, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovae_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x43, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovae_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x43, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovae_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x43, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovae_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x43, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovae_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x43, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovae_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x43, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovae_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x43, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovae_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovae_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x43, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovae_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x43, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovae_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x43, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovae_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x43, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovae_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x43, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovae_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x43, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovae_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x43, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovae_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x43, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovae_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x43, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovae_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x43, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovb_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x42, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovb_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x42, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovb_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x42, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovb_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x42, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovb_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x42, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovb_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x42, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovb_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x42, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovb_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x42, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovb_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x42, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovb_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x42, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovb_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x42, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovb_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x42, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovb_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x42, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovb_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x42, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovb_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x42, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovb_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x42, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovb_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x42, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovb_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x42, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovb_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x42, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovb_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x42, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovb_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x42, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovb_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x42, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovb_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x42, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovb_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x42, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovb_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x42, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovb_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x42, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovb_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x42, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovbe_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x46, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovbe_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x46, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovbe_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x46, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovbe_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x46, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovbe_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x46, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovbe_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x46, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovbe_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x46, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovbe_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x46, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovbe_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x46, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovbe_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x46, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovbe_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x46, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovbe_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x46, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovbe_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x46, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovbe_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x46, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovbe_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x46, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovbe_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x46, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovbe_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x46, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovbe_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x46, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovbe_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x46, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovbe_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x46, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovbe_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x46, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovbe_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x46, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovbe_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x46, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovbe_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x46, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovbe_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x46, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovbe_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x46, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovbe_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x46, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmove_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x44, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmove_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x44, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmove_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x44, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmove_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x44, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmove_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x44, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmove_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x44, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmove_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x44, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmove_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x44, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmove_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x44, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmove_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x44, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmove_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x44, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmove_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x44, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmove_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x44, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmove_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x44, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmove_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x44, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmove_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x44, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmove_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x44, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmove_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x44, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmove_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x44, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmove_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x44, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmove_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x44, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmove_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x44, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmove_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x44, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmove_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x44, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmove_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x44, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmove_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x44, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmove_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x44, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovg_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x4f, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovg_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovg_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x4f, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovg_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x4f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovg_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovg_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x4f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovg_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovg_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovg_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x4f, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovg_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x4f, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovg_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovg_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4f, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovg_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4f, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovg_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovg_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovg_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovg_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovg_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x4f, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovg_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x4f, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovg_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovg_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4f, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovg_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4f, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovg_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovg_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovg_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovg_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovg_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x4f, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovge_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x4d, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovge_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovge_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x4d, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovge_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x4d, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovge_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovge_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x4d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovge_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovge_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovge_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x4d, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovge_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x4d, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovge_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovge_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4d, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovge_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4d, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovge_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovge_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovge_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovge_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovge_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x4d, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovge_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x4d, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovge_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovge_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4d, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovge_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4d, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovge_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovge_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovge_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovge_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovge_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x4d, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovl_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x4c, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovl_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovl_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x4c, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovl_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x4c, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovl_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovl_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x4c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovl_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovl_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovl_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x4c, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovl_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x4c, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovl_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovl_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4c, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovl_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4c, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovl_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovl_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovl_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovl_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovl_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x4c, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovl_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x4c, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovl_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovl_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4c, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovl_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4c, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovl_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovl_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovl_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovl_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovl_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x4c, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovle_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x4e, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovle_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovle_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x4e, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovle_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x4e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovle_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovle_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x4e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovle_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovle_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovle_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x4e, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovle_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x4e, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovle_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovle_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4e, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovle_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4e, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovle_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovle_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovle_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovle_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovle_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x4e, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovle_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x4e, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovle_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovle_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4e, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovle_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4e, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovle_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovle_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovle_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovle_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovle_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x4e, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovne_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x45, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovne_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovne_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x45, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovne_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x45, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovne_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x45, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovne_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x45, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovne_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x45, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovne_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x45, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovne_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x45, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovne_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x45, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovne_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovne_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x45, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovne_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x45, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovne_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x45, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovne_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x45, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovne_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x45, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovne_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x45, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovne_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x45, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovne_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x45, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovne_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovne_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x45, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovne_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x45, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovne_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x45, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovne_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x45, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovne_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x45, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovne_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x45, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovne_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x45, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovno_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x41, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovno_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovno_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x41, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovno_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x41, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovno_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x41, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovno_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x41, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovno_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x41, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovno_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x41, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovno_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x41, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovno_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x41, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovno_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovno_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x41, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovno_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x41, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovno_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x41, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovno_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x41, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovno_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x41, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovno_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x41, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovno_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x41, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovno_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x41, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovno_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovno_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x41, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovno_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x41, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovno_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x41, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovno_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x41, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovno_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x41, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovno_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x41, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovno_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x41, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovnp_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x4b, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovnp_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovnp_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x4b, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovnp_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x4b, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovnp_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovnp_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x4b, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovnp_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovnp_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovnp_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x4b, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovnp_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x4b, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovnp_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovnp_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4b, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovnp_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4b, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovnp_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovnp_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4b, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovnp_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovnp_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovnp_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x4b, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovnp_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x4b, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovnp_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovnp_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4b, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovnp_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4b, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovnp_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovnp_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4b, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovnp_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovnp_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovnp_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x4b, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovns_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x49, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovns_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x49, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovns_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x49, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovns_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x49, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovns_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x49, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovns_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x49, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovns_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x49, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovns_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x49, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovns_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x49, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovns_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x49, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovns_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x49, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovns_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x49, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovns_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x49, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovns_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x49, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovns_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x49, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovns_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x49, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovns_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x49, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovns_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x49, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovns_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x49, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovns_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x49, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovns_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x49, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovns_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x49, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovns_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x49, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovns_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x49, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovns_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x49, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovns_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x49, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovns_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x49, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovo_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovo_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovo_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x40, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovo_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x40, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovo_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x40, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovo_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x40, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovo_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x40, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovo_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x40, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovo_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x40, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovo_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x40, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovo_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovo_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x40, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovo_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x40, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovo_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x40, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovo_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x40, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovo_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x40, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovo_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x40, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovo_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x40, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovo_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x40, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovo_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovo_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x40, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovo_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x40, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovo_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x40, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovo_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x40, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovo_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x40, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovo_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x40, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovo_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x40, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovp_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x4a, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovp_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovp_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x4a, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovp_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x4a, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovp_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovp_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x4a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovp_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x4a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovp_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x4a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovp_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x4a, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovp_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x4a, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovp_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovp_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4a, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovp_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4a, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovp_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovp_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovp_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovp_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovp_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x4a, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovp_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x4a, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovp_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x4a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovp_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x4a, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovp_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x4a, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovp_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovp_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x4a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovp_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x4a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovp_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x4a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovp_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x4a, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // cmovs_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x48, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovs_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x48, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // cmovs_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x48, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // cmovs_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x48, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovs_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x48, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // cmovs_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x48, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // cmovs_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x48, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // cmovs_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x48, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cmovs_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0x48, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // cmovs_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0x48, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovs_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x48, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // cmovs_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x48, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // cmovs_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x48, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovs_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x48, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // cmovs_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x48, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // cmovs_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x48, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // cmovs_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x48, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmovs_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0x48, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // cmovs_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0x48, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovs_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x48, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // cmovs_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x48, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // cmovs_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x48, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovs_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x48, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // cmovs_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x48, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // cmovs_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x48, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // cmovs_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x48, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // cmovs_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0x48, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 0, 0, NA, NA, NA, 2, NA,  // cmp_16_ax_imm16
   {OK::IMPLICIT_AX, OK::IMM16},
   {0x66, 0x3d, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // cmp_16_mB32_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // cmp_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // cmp_16_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x39, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 2, NA, 3, 4, NA,  // cmp_16_mB8_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x78, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // cmp_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x78, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // cmp_16_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x39, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 5, 2, 0, 2, NA, NA, 3, NA,  // cmp_16_mB_imm16
   {OK::MODRM_RM_BASE, OK::IMM16},
   {0x66, 0x81, 0x38, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // cmp_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_16},
   {0x66, 0x83, 0x38, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // cmp_16_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG16},
   {0x66, 0x39, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 10, 2, 0, 2, 3, 4, 8, NA,  // cmp_16_mbis32_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // cmp_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // cmp_16_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x39, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 2, 3, 4, 5, NA,  // cmp_16_mbis8_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x7c, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // cmp_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x7c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // cmp_16_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x39, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 6, 2, 0, 2, 3, NA, 4, NA,  // cmp_16_mbis_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM16},
   {0x66, 0x81, 0x3c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // cmp_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_16},
   {0x66, 0x83, 0x3c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // cmp_16_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16},
   {0x66, 0x39, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 10, 2, 0, 2, 3, 4, 8, NA,  // cmp_16_mi32_imm16
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // cmp_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // cmp_16_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x39, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // cmp_16_mpc32_imm16
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // cmp_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // cmp_16_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x39, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 2, NA, NA, 3, NA,  // cmp_16_mr_imm16
   {OK::MODRM_RM_REG16, OK::IMM16},
   {0x66, 0x81, 0xf8, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // cmp_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8_16},
   {0x66, 0x83, 0xf8, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmp_16_mr_r
   {OK::MODRM_RM_REG16, OK::MODRM_REG16},
   {0x66, 0x39, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // cmp_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x3b, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // cmp_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x3b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // cmp_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x3b, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // cmp_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x3b, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // cmp_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x3b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // cmp_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x3b, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // cmp_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x3b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // cmp_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x3b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // cmp_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x3b, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 5, 0, 0, NA, NA, NA, 1, NA,  // cmp_32_eax_imm32
   {OK::IMPLICIT_EAX, OK::IMM32},
   {0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // cmp_32_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // cmp_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // cmp_32_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x39, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 3, NA,  // cmp_32_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // cmp_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x78, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // cmp_32_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32},
   {0x39, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 3, 0, 1, NA, NA, 2, NA,  // cmp_32_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32},
   {0x81, 0x38, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // cmp_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_32},
   {0x83, 0x38, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // cmp_32_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG32},
   {0x39, 0x00},
   {0xff, 0xc0}},
  {5, 11, 3, 0, 1, 2, 3, 7, NA,  // cmp_32_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // cmp_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // cmp_32_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x39, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 4, NA,  // cmp_32_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // cmp_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x7c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // cmp_32_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32},
   {0x39, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, NA, 3, NA,  // cmp_32_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32},
   {0x81, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // cmp_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_32},
   {0x83, 0x3c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // cmp_32_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32},
   {0x39, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 3, 0, 1, 2, 3, 7, NA,  // cmp_32_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // cmp_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // cmp_32_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x39, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // cmp_32_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // cmp_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // cmp_32_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x39, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 0, 1, NA, NA, 2, NA,  // cmp_32_mr_imm32
   {OK::MODRM_RM_REG32, OK::IMM32},
   {0x81, 0xf8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // cmp_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8_32},
   {0x83, 0xf8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // cmp_32_mr_r
   {OK::MODRM_RM_REG32, OK::MODRM_REG32},
   {0x39, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // cmp_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x3b, 0x00},
   {0xff, 0xc0}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // cmp_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x3b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // cmp_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x3b, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // cmp_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x3b, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // cmp_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x3b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // cmp_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x3b, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // cmp_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x3b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // cmp_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x3b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // cmp_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x3b, 0xc0},
   {0xff, 0xc0}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // cmp_64_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // cmp_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // cmp_64_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x39, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 3, NA,  // cmp_64_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // cmp_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x78, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // cmp_64_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64},
   {0x39, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 4, 1, 1, NA, NA, 2, NA,  // cmp_64_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32_64},
   {0x81, 0x38, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // cmp_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_64},
   {0x83, 0x38, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // cmp_64_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG64},
   {0x39, 0x00},
   {0xff, 0xc0}},
  {5, 11, 4, 1, 1, 2, 3, 7, NA,  // cmp_64_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // cmp_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // cmp_64_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x39, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 4, NA,  // cmp_64_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // cmp_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x7c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // cmp_64_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64},
   {0x39, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, NA, 3, NA,  // cmp_64_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32_64},
   {0x81, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // cmp_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_64},
   {0x83, 0x3c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // cmp_64_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64},
   {0x39, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 4, 1, 1, 2, 3, 7, NA,  // cmp_64_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // cmp_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // cmp_64_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x39, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // cmp_64_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // cmp_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // cmp_64_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x39, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 1, 1, NA, NA, 2, NA,  // cmp_64_mr_imm32
   {OK::MODRM_RM_REG64, OK::IMM32_64},
   {0x81, 0xf8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // cmp_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8_64},
   {0x83, 0xf8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // cmp_64_mr_r
   {OK::MODRM_RM_REG64, OK::MODRM_REG64},
   {0x39, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // cmp_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x3b, 0x00},
   {0xff, 0xc0}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // cmp_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x3b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // cmp_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x3b, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // cmp_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x3b, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // cmp_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x3b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // cmp_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x3b, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // cmp_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x3b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // cmp_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x3b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // cmp_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x3b, 0xc0},
   {0xff, 0xc0}},
  {2, 5, 0, 1, NA, NA, NA, 1, NA,  // cmp_64_rax_imm32
   {OK::IMPLICIT_RAX, OK::IMM32_64},
   {0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, NA, NA, NA, 1, NA,  // cmp_8_al_imm8
   {OK::IMPLICIT_AL, OK::IMM8},
   {0x3c, 0x00},
   {0xff, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // cmp_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // cmp_8_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x38, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // cmp_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x78, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // cmp_8_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8},
   {0x38, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // cmp_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x80, 0x38, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // cmp_8_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG8},
   {0x38, 0x00},
   {0xff, 0xc0}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // cmp_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // cmp_8_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x38, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // cmp_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x7c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // cmp_8_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8},
   {0x38, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // cmp_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x80, 0x3c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // cmp_8_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8},
   {0x38, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // cmp_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // cmp_8_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x38, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // cmp_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // cmp_8_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x38, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // cmp_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0x80, 0xf8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // cmp_8_mr_r
   {OK::MODRM_RM_REG8, OK::MODRM_REG8},
   {0x38, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // cmp_8_r_mB
   {OK::MODRM_REG8, OK::MODRM_RM_BASE},
   {0x3a, 0x00},
   {0xff, 0xc0}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // cmp_8_r_mB32
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x3a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // cmp_8_r_mB8
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x3a, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // cmp_8_r_mbis
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x3a, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // cmp_8_r_mbis32
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x3a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // cmp_8_r_mbis8
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x3a, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // cmp_8_r_mi32
   {OK::MODRM_REG8, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x3a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // cmp_8_r_mpc32
   {OK::MODRM_REG8, OK::RIP_BASE, OK::OFFABS32},
   {0x3a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // cmp_8_r_mr
   {OK::MODRM_REG8, OK::MODRM_RM_REG8},
   {0x3a, 0xc0},
   {0xff, 0xc0}},
  {4, 8, 2, 0, 3, NA, 4, NA, NA,  // cmpxchg_16_mB32_r_ax
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0x66, 0x0f, 0xb1, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 3, NA, 4, NA, NA,  // cmpxchg_16_mB8_r_ax
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0x66, 0x0f, 0xb1, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {3, 4, 2, 0, 3, NA, NA, NA, NA,  // cmpxchg_16_mB_r_ax
   {OK::MODRM_RM_BASE, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0x66, 0x0f, 0xb1, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {6, 9, 2, 0, 3, 4, 5, NA, NA,  // cmpxchg_16_mbis32_r_ax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0x66, 0x0f, 0xb1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 6, 2, 0, 3, 4, 5, NA, NA,  // cmpxchg_16_mbis8_r_ax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0x66, 0x0f, 0xb1, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {5, 5, 2, 0, 3, 4, NA, NA, NA,  // cmpxchg_16_mbis_r_ax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0x66, 0x0f, 0xb1, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // cmpxchg_16_mi32_r_ax
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0x66, 0x0f, 0xb1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 3, NA, 4, NA, NA,  // cmpxchg_16_mpc32_r_ax
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0x66, 0x0f, 0xb1, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 0, 0, 3, NA, NA, NA, NA,  // cmpxchg_16_mr_r_ax
   {OK::MODRM_RM_REG16, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0x66, 0x0f, 0xb1, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {4, 7, 3, 0, 2, NA, 3, NA, NA,  // cmpxchg_32_mB32_r_eax
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0x0f, 0xb1, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 2, NA, 3, NA, NA,  // cmpxchg_32_mB8_r_eax
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0x0f, 0xb1, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {3, 3, 3, 0, 2, NA, NA, NA, NA,  // cmpxchg_32_mB_r_eax
   {OK::MODRM_RM_BASE, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0x0f, 0xb1, 0x00},
   {0xff, 0xff, 0xc0}},
  {6, 8, 3, 0, 2, 3, 4, NA, NA,  // cmpxchg_32_mbis32_r_eax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0x0f, 0xb1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 5, 3, 0, 2, 3, 4, NA, NA,  // cmpxchg_32_mbis8_r_eax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0x0f, 0xb1, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {5, 4, 3, 0, 2, 3, NA, NA, NA,  // cmpxchg_32_mbis_r_eax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0x0f, 0xb1, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // cmpxchg_32_mi32_r_eax
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0x0f, 0xb1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 2, NA, 3, NA, NA,  // cmpxchg_32_mpc32_r_eax
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0x0f, 0xb1, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 0, 2, NA, NA, NA, NA,  // cmpxchg_32_mr_r_eax
   {OK::MODRM_RM_REG32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0x0f, 0xb1, 0xc0},
   {0xff, 0xff, 0xc0}},
  {4, 7, 4, 1, 2, NA, 3, NA, NA,  // cmpxchg_64_mB32_r_rax
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0x0f, 0xb1, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 2, NA, 3, NA, NA,  // cmpxchg_64_mB8_r_rax
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0x0f, 0xb1, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {3, 3, 4, 1, 2, NA, NA, NA, NA,  // cmpxchg_64_mB_r_rax
   {OK::MODRM_RM_BASE, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0x0f, 0xb1, 0x00},
   {0xff, 0xff, 0xc0}},
  {6, 8, 4, 1, 2, 3, 4, NA, NA,  // cmpxchg_64_mbis32_r_rax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0x0f, 0xb1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 5, 4, 1, 2, 3, 4, NA, NA,  // cmpxchg_64_mbis8_r_rax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0x0f, 0xb1, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {5, 4, 4, 1, 2, 3, NA, NA, NA,  // cmpxchg_64_mbis_r_rax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0x0f, 0xb1, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // cmpxchg_64_mi32_r_rax
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0x0f, 0xb1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 2, NA, 3, NA, NA,  // cmpxchg_64_mpc32_r_rax
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0x0f, 0xb1, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 1, 2, NA, NA, NA, NA,  // cmpxchg_64_mr_r_rax
   {OK::MODRM_RM_REG64, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0x0f, 0xb1, 0xc0},
   {0xff, 0xff, 0xc0}},
  {4, 7, 1, 0, 2, NA, 3, NA, NA,  // cmpxchg_8_mB32_r_al
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0x0f, 0xb0, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 1, 0, 2, NA, 3, NA, NA,  // cmpxchg_8_mB8_r_al
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0x0f, 0xb0, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {3, 3, 1, 0, 2, NA, NA, NA, NA,  // cmpxchg_8_mB_r_al
   {OK::MODRM_RM_BASE, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0x0f, 0xb0, 0x00},
   {0xff, 0xff, 0xc0}},
  {6, 8, 1, 0, 2, 3, 4, NA, NA,  // cmpxchg_8_mbis32_r_al
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0x0f, 0xb0, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 5, 1, 0, 2, 3, 4, NA, NA,  // cmpxchg_8_mbis8_r_al
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0x0f, 0xb0, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {5, 4, 1, 0, 2, 3, NA, NA, NA,  // cmpxchg_8_mbis_r_al
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0x0f, 0xb0, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 1, 0, 2, 3, 4, NA, NA,  // cmpxchg_8_mi32_r_al
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0x0f, 0xb0, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 2, NA, 3, NA, NA,  // cmpxchg_8_mpc32_r_al
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0x0f, 0xb0, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 0, 2, NA, NA, NA, NA,  // cmpxchg_8_mr_r_al
   {OK::MODRM_RM_REG8, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0x0f, 0xb0, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // comisd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x2f, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // comisd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x2f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // comisd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x2f, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // comisd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x2f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // comisd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x2f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // comisd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x2f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // comisd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x2f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // comisd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x2f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // comisd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0x66, 0x0f, 0x2f, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // comiss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0x0f, 0x2f, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // comiss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x2f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // comiss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x2f, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // comiss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x2f, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // comiss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x2f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // comiss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x2f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // comiss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x2f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // comiss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x2f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // comiss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0x0f, 0x2f, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 1, 0, 1, NA, NA, NA, NA, NA,  // cqo_64_rdx_rax
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX},
   {0x99},
   {0xff}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // cvtsd2si_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x2d, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // cvtsd2si_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // cvtsd2si_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2d, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // cvtsd2si_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x2d, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // cvtsd2si_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // cvtsd2si_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // cvtsd2si_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // cvtsd2si_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cvtsd2si_32_r_mx
   {OK::MODRM_REG32, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x2d, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 1, 3, NA, NA, NA, NA,  // cvtsd2si_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x2d, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // cvtsd2si_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 1, 3, NA, 4, NA, NA,  // cvtsd2si_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2d, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 1, 3, 4, NA, NA, NA,  // cvtsd2si_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x2d, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // cvtsd2si_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 1, 3, 4, 5, NA, NA,  // cvtsd2si_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 1, 3, 4, 5, NA, NA,  // cvtsd2si_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // cvtsd2si_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // cvtsd2si_64_r_mx
   {OK::MODRM_REG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x2d, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // cvtsd2ss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x5a, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // cvtsd2ss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // cvtsd2ss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5a, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // cvtsd2ss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x5a, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // cvtsd2ss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // cvtsd2ss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // cvtsd2ss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // cvtsd2ss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cvtsd2ss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x5a, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // cvtsi2sd_32_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x2a, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvtsi2sd_32_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // cvtsi2sd_32_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2a, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // cvtsi2sd_32_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x2a, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // cvtsi2sd_32_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // cvtsi2sd_32_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // cvtsi2sd_32_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvtsi2sd_32_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cvtsi2sd_32_x_mr
   {OK::MODRM_XREG64, OK::MODRM_RM_REG32},
   {0xf2, 0x0f, 0x2a, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 1, 3, NA, NA, NA, NA,  // cvtsi2sd_64_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x2a, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // cvtsi2sd_64_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 1, 3, NA, 4, NA, NA,  // cvtsi2sd_64_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2a, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 1, 3, 4, NA, NA, NA,  // cvtsi2sd_64_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x2a, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // cvtsi2sd_64_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 1, 3, 4, 5, NA, NA,  // cvtsi2sd_64_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 1, 3, 4, 5, NA, NA,  // cvtsi2sd_64_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // cvtsi2sd_64_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // cvtsi2sd_64_x_mr
   {OK::MODRM_XREG64, OK::MODRM_RM_REG64},
   {0xf2, 0x0f, 0x2a, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // cvtsi2ss_32_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x2a, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvtsi2ss_32_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // cvtsi2ss_32_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2a, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // cvtsi2ss_32_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x2a, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // cvtsi2ss_32_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // cvtsi2ss_32_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // cvtsi2ss_32_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvtsi2ss_32_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cvtsi2ss_32_x_mr
   {OK::MODRM_XREG32, OK::MODRM_RM_REG32},
   {0xf3, 0x0f, 0x2a, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 1, 3, NA, NA, NA, NA,  // cvtsi2ss_64_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x2a, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // cvtsi2ss_64_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 1, 3, NA, 4, NA, NA,  // cvtsi2ss_64_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2a, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 1, 3, 4, NA, NA, NA,  // cvtsi2ss_64_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x2a, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // cvtsi2ss_64_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 1, 3, 4, 5, NA, NA,  // cvtsi2ss_64_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 1, 3, 4, 5, NA, NA,  // cvtsi2ss_64_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // cvtsi2ss_64_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // cvtsi2ss_64_x_mr
   {OK::MODRM_XREG32, OK::MODRM_RM_REG64},
   {0xf3, 0x0f, 0x2a, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // cvtss2sd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x5a, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvtss2sd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // cvtss2sd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5a, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // cvtss2sd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x5a, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // cvtss2sd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // cvtss2sd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // cvtss2sd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvtss2sd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cvtss2sd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x5a, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // cvtss2si_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x2d, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvtss2si_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // cvtss2si_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2d, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // cvtss2si_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x2d, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // cvtss2si_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // cvtss2si_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // cvtss2si_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvtss2si_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cvtss2si_32_r_mx
   {OK::MODRM_REG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x2d, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 1, 3, NA, NA, NA, NA,  // cvtss2si_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x2d, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 1, 3, NA, 4, NA, NA,  // cvtss2si_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 1, 3, NA, 4, NA, NA,  // cvtss2si_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2d, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 1, 3, 4, NA, NA, NA,  // cvtss2si_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x2d, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 1, 3, 4, 5, NA, NA,  // cvtss2si_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 1, 3, 4, 5, NA, NA,  // cvtss2si_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 1, 3, 4, 5, NA, NA,  // cvtss2si_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 1, 3, NA, 4, NA, NA,  // cvtss2si_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // cvtss2si_64_r_mx
   {OK::MODRM_REG64, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x2d, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // cvttsd2si_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x2c, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // cvttsd2si_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // cvttsd2si_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2c, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // cvttsd2si_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x2c, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // cvttsd2si_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // cvttsd2si_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // cvttsd2si_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // cvttsd2si_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cvttsd2si_32_r_mx
   {OK::MODRM_REG32, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x2c, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 1, 3, NA, NA, NA, NA,  // cvttsd2si_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x2c, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // cvttsd2si_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 1, 3, NA, 4, NA, NA,  // cvttsd2si_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2c, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 1, 3, 4, NA, NA, NA,  // cvttsd2si_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x2c, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // cvttsd2si_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 1, 3, 4, 5, NA, NA,  // cvttsd2si_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x2c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 1, 3, 4, 5, NA, NA,  // cvttsd2si_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // cvttsd2si_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // cvttsd2si_64_r_mx
   {OK::MODRM_REG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x2c, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // cvttss2si_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x2c, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvttss2si_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // cvttss2si_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2c, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // cvttss2si_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x2c, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // cvttss2si_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // cvttss2si_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // cvttss2si_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // cvttss2si_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // cvttss2si_32_r_mx
   {OK::MODRM_REG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x2c, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 1, 3, NA, NA, NA, NA,  // cvttss2si_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x2c, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 1, 3, NA, 4, NA, NA,  // cvttss2si_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 1, 3, NA, 4, NA, NA,  // cvttss2si_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2c, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 1, 3, 4, NA, NA, NA,  // cvttss2si_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x2c, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 1, 3, 4, 5, NA, NA,  // cvttss2si_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 1, 3, 4, 5, NA, NA,  // cvttss2si_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x2c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 1, 3, 4, 5, NA, NA,  // cvttss2si_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 1, 3, NA, 4, NA, NA,  // cvttss2si_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // cvttss2si_64_r_mx
   {OK::MODRM_REG64, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x2c, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 2, 0, 0, NA, NA, NA, NA, NA,  // cwd_16_dx_ax
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX},
   {0x66, 0x99},
   {0xff, 0xff}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // div_16_ax_mB
   {OK::IMPLICIT_AX, OK::MODRM_RM_BASE},
   {0xf6, 0x30},
   {0xff, 0xf8}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // div_16_ax_mB32
   {OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf6, 0xb0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // div_16_ax_mB8
   {OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf6, 0x70, 0x00},
   {0xff, 0xf8, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // div_16_ax_mbis
   {OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf6, 0x34, 0x00},
   {0xff, 0xff, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // div_16_ax_mbis32
   {OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // div_16_ax_mbis8
   {OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf6, 0x74, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // div_16_ax_mi32
   {OK::IMPLICIT_AX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // div_16_ax_mpc32
   {OK::IMPLICIT_AX, OK::RIP_BASE, OK::OFFABS32},
   {0xf6, 0x35, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // div_16_ax_mr
   {OK::IMPLICIT_AX, OK::MODRM_RM_REG8},
   {0xf6, 0xf0},
   {0xff, 0xf8}},
  {3, 3, 2, 0, 2, NA, NA, NA, NA,  // div_16_dx_ax_mB
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_BASE},
   {0x66, 0xf7, 0x30},
   {0xff, 0xff, 0xf8}},
  {4, 7, 2, 0, 2, NA, 3, NA, NA,  // div_16_dx_ax_mB32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0xb0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, NA, 3, NA, NA,  // div_16_dx_ax_mB8
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0xf7, 0x70, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {5, 4, 2, 0, 2, 3, NA, NA, NA,  // div_16_dx_ax_mbis
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0xf7, 0x34, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {6, 8, 2, 0, 2, 3, 4, NA, NA,  // div_16_dx_ax_mbis32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 5, 2, 0, 2, 3, 4, NA, NA,  // div_16_dx_ax_mbis8
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0xf7, 0x74, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // div_16_dx_ax_mi32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 2, 0, 2, NA, 3, NA, NA,  // div_16_dx_ax_mpc32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0x35, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 0, 2, NA, NA, NA, NA,  // div_16_dx_ax_mr
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_REG16},
   {0x66, 0xf7, 0xf0},
   {0xff, 0xff, 0xf8}},
  {3, 2, 3, 0, 1, NA, NA, NA, NA,  // div_32_edx_eax_mB
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_BASE},
   {0xf7, 0x30},
   {0xff, 0xf8}},
  {4, 6, 3, 0, 1, NA, 2, NA, NA,  // div_32_edx_eax_mB32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0xb0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, NA, 2, NA, NA,  // div_32_edx_eax_mB8
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x70, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 3, 3, 0, 1, 2, NA, NA, NA,  // div_32_edx_eax_mbis
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x34, 0x00},
   {0xff, 0xff, 0x00}},
  {6, 7, 3, 0, 1, 2, 3, NA, NA,  // div_32_edx_eax_mbis32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 4, 3, 0, 1, 2, 3, NA, NA,  // div_32_edx_eax_mbis8
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x74, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // div_32_edx_eax_mi32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 6, 3, 0, 1, NA, 2, NA, NA,  // div_32_edx_eax_mpc32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x35, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 2, 0, 0, 1, NA, NA, NA, NA,  // div_32_edx_eax_mr
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_REG32},
   {0xf7, 0xf0},
   {0xff, 0xf8}},
  {3, 2, 4, 1, 1, NA, NA, NA, NA,  // div_64_rdx_rax_mB
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_BASE},
   {0xf7, 0x30},
   {0xff, 0xf8}},
  {4, 6, 4, 1, 1, NA, 2, NA, NA,  // div_64_rdx_rax_mB32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0xb0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, NA, 2, NA, NA,  // div_64_rdx_rax_mB8
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x70, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 3, 4, 1, 1, 2, NA, NA, NA,  // div_64_rdx_rax_mbis
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x34, 0x00},
   {0xff, 0xff, 0x00}},
  {6, 7, 4, 1, 1, 2, 3, NA, NA,  // div_64_rdx_rax_mbis32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 4, 4, 1, 1, 2, 3, NA, NA,  // div_64_rdx_rax_mbis8
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x74, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // div_64_rdx_rax_mi32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 6, 4, 1, 1, NA, 2, NA, NA,  // div_64_rdx_rax_mpc32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x35, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 2, 0, 1, 1, NA, NA, NA, NA,  // div_64_rdx_rax_mr
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_REG64},
   {0xf7, 0xf0},
   {0xff, 0xf8}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // divsd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x5e, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // divsd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // divsd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5e, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // divsd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x5e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // divsd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // divsd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // divsd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // divsd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // divsd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x5e, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // divss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x5e, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // divss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // divss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5e, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // divss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x5e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // divss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // divss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // divss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // divss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // divss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x5e, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {0, 4, 0, 0, NA, NA, NA, NA, NA,  // endbr64
   {},
   {0xf3, 0x0f, 0x1e, 0xfa},
   {0xff, 0xff, 0xff, 0xff}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // idiv_16_ax_mB
   {OK::IMPLICIT_AX, OK::MODRM_RM_BASE},
   {0xf6, 0x38},
   {0xff, 0xf8}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // idiv_16_ax_mB32
   {OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf6, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // idiv_16_ax_mB8
   {OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf6, 0x78, 0x00},
   {0xff, 0xf8, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // idiv_16_ax_mbis
   {OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf6, 0x3c, 0x00},
   {0xff, 0xff, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // idiv_16_ax_mbis32
   {OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // idiv_16_ax_mbis8
   {OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf6, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // idiv_16_ax_mi32
   {OK::IMPLICIT_AX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // idiv_16_ax_mpc32
   {OK::IMPLICIT_AX, OK::RIP_BASE, OK::OFFABS32},
   {0xf6, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // idiv_16_ax_mr
   {OK::IMPLICIT_AX, OK::MODRM_RM_REG8},
   {0xf6, 0xf8},
   {0xff, 0xf8}},
  {3, 3, 2, 0, 2, NA, NA, NA, NA,  // idiv_16_dx_ax_mB
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_BASE},
   {0x66, 0xf7, 0x38},
   {0xff, 0xff, 0xf8}},
  {4, 7, 2, 0, 2, NA, 3, NA, NA,  // idiv_16_dx_ax_mB32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, NA, 3, NA, NA,  // idiv_16_dx_ax_mB8
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0xf7, 0x78, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {5, 4, 2, 0, 2, 3, NA, NA, NA,  // idiv_16_dx_ax_mbis
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0xf7, 0x3c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {6, 8, 2, 0, 2, 3, 4, NA, NA,  // idiv_16_dx_ax_mbis32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 5, 2, 0, 2, 3, 4, NA, NA,  // idiv_16_dx_ax_mbis8
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0xf7, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // idiv_16_dx_ax_mi32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 2, 0, 2, NA, 3, NA, NA,  // idiv_16_dx_ax_mpc32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 0, 2, NA, NA, NA, NA,  // idiv_16_dx_ax_mr
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_REG16},
   {0x66, 0xf7, 0xf8},
   {0xff, 0xff, 0xf8}},
  {3, 2, 3, 0, 1, NA, NA, NA, NA,  // idiv_32_edx_eax_mB
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_BASE},
   {0xf7, 0x38},
   {0xff, 0xf8}},
  {4, 6, 3, 0, 1, NA, 2, NA, NA,  // idiv_32_edx_eax_mB32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, NA, 2, NA, NA,  // idiv_32_edx_eax_mB8
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x78, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 3, 3, 0, 1, 2, NA, NA, NA,  // idiv_32_edx_eax_mbis
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x3c, 0x00},
   {0xff, 0xff, 0x00}},
  {6, 7, 3, 0, 1, 2, 3, NA, NA,  // idiv_32_edx_eax_mbis32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 4, 3, 0, 1, 2, 3, NA, NA,  // idiv_32_edx_eax_mbis8
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // idiv_32_edx_eax_mi32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 6, 3, 0, 1, NA, 2, NA, NA,  // idiv_32_edx_eax_mpc32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 2, 0, 0, 1, NA, NA, NA, NA,  // idiv_32_edx_eax_mr
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_REG32},
   {0xf7, 0xf8},
   {0xff, 0xf8}},
  {3, 2, 4, 1, 1, NA, NA, NA, NA,  // idiv_64_rdx_rax_mB
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_BASE},
   {0xf7, 0x38},
   {0xff, 0xf8}},
  {4, 6, 4, 1, 1, NA, 2, NA, NA,  // idiv_64_rdx_rax_mB32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, NA, 2, NA, NA,  // idiv_64_rdx_rax_mB8
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x78, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 3, 4, 1, 1, 2, NA, NA, NA,  // idiv_64_rdx_rax_mbis
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x3c, 0x00},
   {0xff, 0xff, 0x00}},
  {6, 7, 4, 1, 1, 2, 3, NA, NA,  // idiv_64_rdx_rax_mbis32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 4, 4, 1, 1, 2, 3, NA, NA,  // idiv_64_rdx_rax_mbis8
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // idiv_64_rdx_rax_mi32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 6, 4, 1, 1, NA, 2, NA, NA,  // idiv_64_rdx_rax_mpc32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 2, 0, 1, 1, NA, NA, NA, NA,  // idiv_64_rdx_rax_mr
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_REG64},
   {0xf7, 0xf8},
   {0xff, 0xf8}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // imul_16_ax_mB
   {OK::IMPLICIT_AX, OK::MODRM_RM_BASE},
   {0xf6, 0x28},
   {0xff, 0xf8}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // imul_16_ax_mB32
   {OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf6, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // imul_16_ax_mB8
   {OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf6, 0x68, 0x00},
   {0xff, 0xf8, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // imul_16_ax_mbis
   {OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf6, 0x2c, 0x00},
   {0xff, 0xff, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // imul_16_ax_mbis32
   {OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // imul_16_ax_mbis8
   {OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf6, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // imul_16_ax_mi32
   {OK::IMPLICIT_AX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // imul_16_ax_mpc32
   {OK::IMPLICIT_AX, OK::RIP_BASE, OK::OFFABS32},
   {0xf6, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // imul_16_ax_mr
   {OK::IMPLICIT_AX, OK::MODRM_RM_REG8},
   {0xf6, 0xe8},
   {0xff, 0xf8}},
  {3, 3, 2, 0, 2, NA, NA, NA, NA,  // imul_16_dx_ax_mB
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_BASE},
   {0x66, 0xf7, 0x28},
   {0xff, 0xff, 0xf8}},
  {4, 7, 2, 0, 2, NA, 3, NA, NA,  // imul_16_dx_ax_mB32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, NA, 3, NA, NA,  // imul_16_dx_ax_mB8
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0xf7, 0x68, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {5, 4, 2, 0, 2, 3, NA, NA, NA,  // imul_16_dx_ax_mbis
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0xf7, 0x2c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {6, 8, 2, 0, 2, 3, 4, NA, NA,  // imul_16_dx_ax_mbis32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 5, 2, 0, 2, 3, 4, NA, NA,  // imul_16_dx_ax_mbis8
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0xf7, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // imul_16_dx_ax_mi32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 2, 0, 2, NA, 3, NA, NA,  // imul_16_dx_ax_mpc32
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 0, 2, NA, NA, NA, NA,  // imul_16_dx_ax_mr
   {OK::IMPLICIT_DX, OK::IMPLICIT_AX, OK::MODRM_RM_REG16},
   {0x66, 0xf7, 0xe8},
   {0xff, 0xff, 0xf8}},
  {2, 4, 2, 0, 3, NA, NA, NA, NA,  // imul_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0xaf, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // imul_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xaf, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, NA, 3, 7, NA,  // imul_16_r_mB32_imm16
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, NA, 3, 7, NA,  // imul_16_r_mB32_imm8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x6b, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 3, NA, 4, NA, NA,  // imul_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0xaf, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 6, 2, 0, 2, NA, 3, 4, NA,  // imul_16_r_mB8_imm16
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x69, 0x40, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, NA, 3, 4, NA,  // imul_16_r_mB8_imm8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x6b, 0x40, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00}},
  {3, 5, 2, 0, 2, NA, NA, 3, NA,  // imul_16_r_mB_imm16
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::IMM16},
   {0x66, 0x69, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, NA, 3, NA,  // imul_16_r_mB_imm8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::IMM8_16},
   {0x66, 0x6b, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 2, 0, 3, 4, NA, NA, NA,  // imul_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0xaf, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 2, 0, 3, 4, 5, NA, NA,  // imul_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xaf, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 10, 2, 0, 2, 3, 4, 8, NA,  // imul_16_r_mbis32_imm16
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x69, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 9, 2, 0, 2, 3, 4, 8, NA,  // imul_16_r_mbis32_imm8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x6b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 3, 4, 5, NA, NA,  // imul_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0xaf, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {6, 7, 2, 0, 2, 3, 4, 5, NA,  // imul_16_r_mbis8_imm16
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x69, 0x44, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {6, 6, 2, 0, 2, 3, 4, 5, NA,  // imul_16_r_mbis8_imm8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x6b, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, NA, 4, NA,  // imul_16_r_mbis_imm16
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM16},
   {0x66, 0x69, 0x04, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, NA, 4, NA,  // imul_16_r_mbis_imm8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_16},
   {0x66, 0x6b, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 2, 0, 3, 4, 5, NA, NA,  // imul_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xaf, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {5, 10, 2, 0, 2, 3, 4, 8, NA,  // imul_16_r_mi32_imm16
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x69, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // imul_16_r_mi32_imm8
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x6b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 3, NA, 4, NA, NA,  // imul_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xaf, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, NA, 3, 7, NA,  // imul_16_r_mpc32_imm16
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x69, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, NA, 3, 7, NA,  // imul_16_r_mpc32_imm8
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x6b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // imul_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0f, 0xaf, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 5, 0, 0, 2, NA, NA, 3, NA,  // imul_16_r_mr_imm16
   {OK::MODRM_REG16, OK::MODRM_RM_REG16, OK::IMM16},
   {0x66, 0x69, 0xc0, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00}},
  {3, 4, 0, 0, 2, NA, NA, 3, NA,  // imul_16_r_mr_imm8
   {OK::MODRM_REG16, OK::MODRM_RM_REG16, OK::IMM8_16},
   {0x66, 0x6b, 0xc0, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {3, 2, 3, 0, 1, NA, NA, NA, NA,  // imul_32_edx_eax_mB
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_BASE},
   {0xf7, 0x28},
   {0xff, 0xf8}},
  {4, 6, 3, 0, 1, NA, 2, NA, NA,  // imul_32_edx_eax_mB32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, NA, 2, NA, NA,  // imul_32_edx_eax_mB8
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x68, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 3, 3, 0, 1, 2, NA, NA, NA,  // imul_32_edx_eax_mbis
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x2c, 0x00},
   {0xff, 0xff, 0x00}},
  {6, 7, 3, 0, 1, 2, 3, NA, NA,  // imul_32_edx_eax_mbis32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 4, 3, 0, 1, 2, 3, NA, NA,  // imul_32_edx_eax_mbis8
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // imul_32_edx_eax_mi32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 6, 3, 0, 1, NA, 2, NA, NA,  // imul_32_edx_eax_mpc32
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 2, 0, 0, 1, NA, NA, NA, NA,  // imul_32_edx_eax_mr
   {OK::IMPLICIT_EDX, OK::IMPLICIT_EAX, OK::MODRM_RM_REG32},
   {0xf7, 0xe8},
   {0xff, 0xf8}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // imul_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0xaf, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // imul_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xaf, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 10, 3, 0, 1, NA, 2, 6, NA,  // imul_32_r_mB32_imm32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32},
   {0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, NA, 2, 6, NA,  // imul_32_r_mB32_imm8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x6b, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // imul_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xaf, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 7, 3, 0, 1, NA, 2, 3, NA,  // imul_32_r_mB8_imm32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32},
   {0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, NA, 2, 3, NA,  // imul_32_r_mB8_imm8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_32},
   {0x6b, 0x40, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, NA, 2, NA,  // imul_32_r_mB_imm32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::IMM32},
   {0x69, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, NA, 2, NA,  // imul_32_r_mB_imm8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::IMM8_32},
   {0x6b, 0x00, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // imul_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xaf, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // imul_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xaf, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 11, 3, 0, 1, 2, 3, 7, NA,  // imul_32_r_mbis32_imm32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x69, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 8, 3, 0, 1, 2, 3, 7, NA,  // imul_32_r_mbis32_imm8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x6b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // imul_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xaf, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {6, 8, 3, 0, 1, 2, 3, 4, NA,  // imul_32_r_mbis8_imm32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32},
   {0x69, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 5, 3, 0, 1, 2, 3, 4, NA,  // imul_32_r_mbis8_imm8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_32},
   {0x6b, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, NA, 3, NA,  // imul_32_r_mbis_imm32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32},
   {0x69, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, NA, 3, NA,  // imul_32_r_mbis_imm8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_32},
   {0x6b, 0x04, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // imul_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xaf, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {5, 11, 3, 0, 1, 2, 3, 7, NA,  // imul_32_r_mi32_imm32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x69, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // imul_32_r_mi32_imm8
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x6b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // imul_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xaf, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {4, 10, 3, 0, 1, NA, 2, 6, NA,  // imul_32_r_mpc32_imm32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32, OK::IMM32},
   {0x69, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, NA, 2, 6, NA,  // imul_32_r_mpc32_imm8
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x6b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // imul_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0f, 0xaf, 0xc0},
   {0xff, 0xff, 0xc0}},
  {3, 6, 0, 0, 1, NA, NA, 2, NA,  // imul_32_r_mr_imm32
   {OK::MODRM_REG32, OK::MODRM_RM_REG32, OK::IMM32},
   {0x69, 0xc0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 0, 1, NA, NA, 2, NA,  // imul_32_r_mr_imm8
   {OK::MODRM_REG32, OK::MODRM_RM_REG32, OK::IMM8_32},
   {0x6b, 0xc0, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 3, 4, 1, 2, NA, NA, NA, NA,  // imul_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0xaf, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // imul_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xaf, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 10, 4, 1, 1, NA, 2, 6, NA,  // imul_64_r_mB32_imm32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x69, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, NA, 2, 6, NA,  // imul_64_r_mB32_imm8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x6b, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 2, NA, 3, NA, NA,  // imul_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xaf, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 7, 4, 1, 1, NA, 2, 3, NA,  // imul_64_r_mB8_imm32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32_64},
   {0x69, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, NA, 2, 3, NA,  // imul_64_r_mB8_imm8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_64},
   {0x6b, 0x40, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, NA, 2, NA,  // imul_64_r_mB_imm32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::IMM32_64},
   {0x69, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, NA, 2, NA,  // imul_64_r_mB_imm8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::IMM8_64},
   {0x6b, 0x00, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 4, 4, 1, 2, 3, NA, NA, NA,  // imul_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xaf, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 4, 1, 2, 3, 4, NA, NA,  // imul_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xaf, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 11, 4, 1, 1, 2, 3, 7, NA,  // imul_64_r_mbis32_imm32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x69, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 8, 4, 1, 1, 2, 3, 7, NA,  // imul_64_r_mbis32_imm8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x6b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 2, 3, 4, NA, NA,  // imul_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xaf, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {6, 8, 4, 1, 1, 2, 3, 4, NA,  // imul_64_r_mbis8_imm32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32_64},
   {0x69, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 5, 4, 1, 1, 2, 3, 4, NA,  // imul_64_r_mbis8_imm8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_64},
   {0x6b, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, NA, 3, NA,  // imul_64_r_mbis_imm32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32_64},
   {0x69, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, NA, 3, NA,  // imul_64_r_mbis_imm8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_64},
   {0x6b, 0x04, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 4, 1, 2, 3, 4, NA, NA,  // imul_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xaf, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {5, 11, 4, 1, 1, 2, 3, 7, NA,  // imul_64_r_mi32_imm32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x69, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // imul_64_r_mi32_imm8
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x6b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 2, NA, 3, NA, NA,  // imul_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xaf, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {4, 10, 4, 1, 1, NA, 2, 6, NA,  // imul_64_r_mpc32_imm32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x69, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, NA, 2, 6, NA,  // imul_64_r_mpc32_imm8
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x6b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // imul_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0f, 0xaf, 0xc0},
   {0xff, 0xff, 0xc0}},
  {3, 6, 0, 1, 1, NA, NA, 2, NA,  // imul_64_r_mr_imm32
   {OK::MODRM_REG64, OK::MODRM_RM_REG64, OK::IMM32_64},
   {0x69, 0xc0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 1, 1, NA, NA, 2, NA,  // imul_64_r_mr_imm8
   {OK::MODRM_REG64, OK::MODRM_RM_REG64, OK::IMM8_64},
   {0x6b, 0xc0, 0x00},
   {0xff, 0xc0, 0x00}},
  {3, 2, 4, 1, 1, NA, NA, NA, NA,  // imul_64_rdx_rax_mB
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_BASE},
   {0xf7, 0x28},
   {0xff, 0xf8}},
  {4, 6, 4, 1, 1, NA, 2, NA, NA,  // imul_64_rdx_rax_mB32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, NA, 2, NA, NA,  // imul_64_rdx_rax_mB8
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x68, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 3, 4, 1, 1, 2, NA, NA, NA,  // imul_64_rdx_rax_mbis
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x2c, 0x00},
   {0xff, 0xff, 0x00}},
  {6, 7, 4, 1, 1, 2, 3, NA, NA,  // imul_64_rdx_rax_mbis32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 4, 4, 1, 1, 2, 3, NA, NA,  // imul_64_rdx_rax_mbis8
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // imul_64_rdx_rax_mi32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 6, 4, 1, 1, NA, 2, NA, NA,  // imul_64_rdx_rax_mpc32
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 2, 0, 1, 1, NA, NA, NA, NA,  // imul_64_rdx_rax_mr
   {OK::IMPLICIT_RDX, OK::IMPLICIT_RAX, OK::MODRM_RM_REG64},
   {0xf7, 0xe8},
   {0xff, 0xf8}},
  {1, 3, 2, 0, 2, NA, NA, NA, NA,  // inc_16_mB
   {OK::MODRM_RM_BASE},
   {0x66, 0xff, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // inc_16_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, 3, NA, NA,  // inc_16_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0xff, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, 3, NA, NA, NA,  // inc_16_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0xff, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // inc_16_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xff, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, 4, NA, NA,  // inc_16_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0xff, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 2, 0, 2, 3, 4, NA, NA,  // inc_16_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xff, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // inc_16_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0xff, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // inc_16_mr
   {OK::MODRM_RM_REG16},
   {0x66, 0xff, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 2, 3, 0, 1, NA, NA, NA, NA,  // inc_32_mB
   {OK::MODRM_RM_BASE},
   {0xff, 0x00},
   {0xff, 0xf8}},
  {2, 6, 3, 0, 1, NA, 2, NA, NA,  // inc_32_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xff, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 3, 0, 1, NA, 2, NA, NA,  // inc_32_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xff, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 3, 0, 1, 2, NA, NA, NA,  // inc_32_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xff, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // inc_32_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, 2, 3, NA, NA,  // inc_32_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xff, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 3, 0, 1, 2, 3, NA, NA,  // inc_32_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 3, 0, 1, NA, 2, NA, NA,  // inc_32_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xff, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // inc_32_mr
   {OK::MODRM_RM_REG32},
   {0xff, 0xc0},
   {0xff, 0xf8}},
  {1, 2, 4, 1, 1, NA, NA, NA, NA,  // inc_64_mB
   {OK::MODRM_RM_BASE},
   {0xff, 0x00},
   {0xff, 0xf8}},
  {2, 6, 4, 1, 1, NA, 2, NA, NA,  // inc_64_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xff, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 1, 1, NA, 2, NA, NA,  // inc_64_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xff, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 1, 1, 2, NA, NA, NA,  // inc_64_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xff, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // inc_64_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, 2, 3, NA, NA,  // inc_64_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xff, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 4, 1, 1, 2, 3, NA, NA,  // inc_64_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 4, 1, 1, NA, 2, NA, NA,  // inc_64_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xff, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 1, 1, NA, NA, NA, NA,  // inc_64_mr
   {OK::MODRM_RM_REG64},
   {0xff, 0xc0},
   {0xff, 0xf8}},
  {1, 2, 1, 0, 1, NA, NA, NA, NA,  // inc_8_mB
   {OK::MODRM_RM_BASE},
   {0xfe, 0x00},
   {0xff, 0xf8}},
  {2, 6, 1, 0, 1, NA, 2, NA, NA,  // inc_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xfe, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 1, 0, 1, NA, 2, NA, NA,  // inc_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xfe, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 1, 0, 1, 2, NA, NA, NA,  // inc_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xfe, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // inc_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xfe, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, 3, NA, NA,  // inc_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xfe, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 1, 0, 1, 2, 3, NA, NA,  // inc_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xfe, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 1, 0, 1, NA, 2, NA, NA,  // inc_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xfe, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // inc_8_mr
   {OK::MODRM_RM_REG8},
   {0xfe, 0xc0},
   {0xff, 0xf8}},
  {0, 1, 0, 0, NA, NA, NA, NA, NA,  // int3
   {},
   {0xcc},
   {0xff}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // ja_32
   {OK::OFFPCREL32},
   {0x0f, 0x87, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // ja_8
   {OK::OFFPCREL8},
   {0x77, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jae_32
   {OK::OFFPCREL32},
   {0x0f, 0x83, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jae_8
   {OK::OFFPCREL8},
   {0x73, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jb_32
   {OK::OFFPCREL32},
   {0x0f, 0x82, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jb_8
   {OK::OFFPCREL8},
   {0x72, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jbe_32
   {OK::OFFPCREL32},
   {0x0f, 0x86, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jbe_8
   {OK::OFFPCREL8},
   {0x76, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // je_32
   {OK::OFFPCREL32},
   {0x0f, 0x84, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // je_8
   {OK::OFFPCREL8},
   {0x74, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jg_32
   {OK::OFFPCREL32},
   {0x0f, 0x8f, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jg_8
   {OK::OFFPCREL8},
   {0x7f, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jge_32
   {OK::OFFPCREL32},
   {0x0f, 0x8d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jge_8
   {OK::OFFPCREL8},
   {0x7d, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jl_32
   {OK::OFFPCREL32},
   {0x0f, 0x8c, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jl_8
   {OK::OFFPCREL8},
   {0x7c, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jle_32
   {OK::OFFPCREL32},
   {0x0f, 0x8e, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jle_8
   {OK::OFFPCREL8},
   {0x7e, 0x00},
   {0xff, 0x00}},
  {1, 5, 0, 0, NA, NA, 1, NA, NA,  // jmp_32
   {OK::OFFPCREL32},
   {0xe9, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 4, 0, 1, NA, NA, NA, NA,  // jmp_64_mB
   {OK::MODRM_RM_BASE},
   {0xff, 0x20},
   {0xff, 0xf8}},
  {2, 6, 4, 0, 1, NA, 2, NA, NA,  // jmp_64_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xff, 0xa0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 0, 1, NA, 2, NA, NA,  // jmp_64_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xff, 0x60, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 0, 1, 2, NA, NA, NA,  // jmp_64_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xff, 0x24, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 4, 0, 1, 2, 3, NA, NA,  // jmp_64_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 0, 1, 2, 3, NA, NA,  // jmp_64_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xff, 0x64, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 4, 0, 1, 2, 3, NA, NA,  // jmp_64_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 4, 0, 1, NA, 2, NA, NA,  // jmp_64_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xff, 0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // jmp_64_mr
   {OK::MODRM_RM_REG64},
   {0xff, 0xe0},
   {0xff, 0xf8}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jmp_8
   {OK::OFFPCREL8},
   {0xeb, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jne_32
   {OK::OFFPCREL32},
   {0x0f, 0x85, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jne_8
   {OK::OFFPCREL8},
   {0x75, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jnp_32
   {OK::OFFPCREL32},
   {0x0f, 0x8b, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jnp_8
   {OK::OFFPCREL8},
   {0x7b, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jns_32
   {OK::OFFPCREL32},
   {0x0f, 0x89, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jns_8
   {OK::OFFPCREL8},
   {0x79, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // jp_32
   {OK::OFFPCREL32},
   {0x0f, 0x8a, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // jp_8
   {OK::OFFPCREL8},
   {0x7a, 0x00},
   {0xff, 0x00}},
  {1, 6, 0, 0, NA, NA, 2, NA, NA,  // js_32
   {OK::OFFPCREL32},
   {0x0f, 0x88, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, 1, NA, NA,  // js_8
   {OK::OFFPCREL8},
   {0x78, 0x00},
   {0xff, 0x00}},
  {1, 3, 3, 0, 2, NA, NA, NA, NA,  // ldmxcsr_32_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0xae, 0x10},
   {0xff, 0xff, 0xf8}},
  {2, 7, 3, 0, 2, NA, 3, NA, NA,  // ldmxcsr_32_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xae, 0x90, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 3, 0, 2, NA, 3, NA, NA,  // ldmxcsr_32_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xae, 0x50, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 3, 0, 2, 3, NA, NA, NA,  // ldmxcsr_32_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xae, 0x14, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // ldmxcsr_32_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xae, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 3, 0, 2, 3, 4, NA, NA,  // ldmxcsr_32_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xae, 0x54, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 3, 0, 2, 3, 4, NA, NA,  // ldmxcsr_32_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xae, 0x14, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 3, 0, 2, NA, 3, NA, NA,  // ldmxcsr_32_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xae, 0x15, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // ldmxcsr_32_mr
   {OK::MODRM_RM_REG32},
   {0x0f, 0xae, 0xd0},
   {0xff, 0xff, 0xf8}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // lea_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x67, 0x8d, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 0, 0, 2, NA, 3, NA, NA,  // lea_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x67, 0x8d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 0, 0, 2, NA, 3, NA, NA,  // lea_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x67, 0x8d, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 0, 0, 2, 3, NA, NA, NA,  // lea_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x67, 0x8d, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 0, 0, 2, 3, 4, NA, NA,  // lea_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x67, 0x8d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 0, 0, 2, 3, 4, NA, NA,  // lea_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x67, 0x8d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 0, 0, 2, 3, 4, NA, NA,  // lea_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x67, 0x8d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 0, 0, 2, NA, 3, NA, NA,  // lea_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x67, 0x8d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // lea_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x8d, 0x00},
   {0xff, 0xc0}},
  {3, 6, 0, 0, 1, NA, 2, NA, NA,  // lea_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x8d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 0, 1, NA, 2, NA, NA,  // lea_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x8d, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 0, 0, 1, 2, NA, NA, NA,  // lea_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x8d, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 0, 0, 1, 2, 3, NA, NA,  // lea_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x8d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 0, 0, 1, 2, 3, NA, NA,  // lea_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x8d, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 0, 0, 1, 2, 3, NA, NA,  // lea_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x8d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 0, 0, 1, NA, 2, NA, NA,  // lea_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x8d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // lea_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x8d, 0x00},
   {0xff, 0xc0}},
  {3, 6, 0, 1, 1, NA, 2, NA, NA,  // lea_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x8d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 0, 1, 1, NA, 2, NA, NA,  // lea_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x8d, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 0, 1, 1, 2, NA, NA, NA,  // lea_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x8d, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 0, 1, 1, 2, 3, NA, NA,  // lea_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x8d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 0, 1, 1, 2, 3, NA, NA,  // lea_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x8d, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 0, 1, 1, 2, 3, NA, NA,  // lea_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x8d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 0, 1, 1, NA, 2, NA, NA,  // lea_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x8d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {0, 3, 0, 0, NA, NA, NA, NA, NA,  // lfence
   {},
   {0x0f, 0xae, 0xe8},
   {0xff, 0xff, 0xff}},
  {4, 9, 2, 0, 4, NA, 5, NA, NA,  // lockcmpxchg_16_mB32_r_ax
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0xf0, 0x66, 0x0f, 0xb1, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 6, 2, 0, 4, NA, 5, NA, NA,  // lockcmpxchg_16_mB8_r_ax
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0xf0, 0x66, 0x0f, 0xb1, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0, 0x00}},
  {3, 5, 2, 0, 4, NA, NA, NA, NA,  // lockcmpxchg_16_mB_r_ax
   {OK::MODRM_RM_BASE, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0xf0, 0x66, 0x0f, 0xb1, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0}},
  {6, 10, 2, 0, 4, 5, 6, NA, NA,  // lockcmpxchg_16_mbis32_r_ax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0xf0, 0x66, 0x0f, 0xb1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 7, 2, 0, 4, 5, 6, NA, NA,  // lockcmpxchg_16_mbis8_r_ax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0xf0, 0x66, 0x0f, 0xb1, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {5, 6, 2, 0, 4, 5, NA, NA, NA,  // lockcmpxchg_16_mbis_r_ax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0xf0, 0x66, 0x0f, 0xb1, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 10, 2, 0, 4, 5, 6, NA, NA,  // lockcmpxchg_16_mi32_r_ax
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0xf0, 0x66, 0x0f, 0xb1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 4, NA, 5, NA, NA,  // lockcmpxchg_16_mpc32_r_ax
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0xf0, 0x66, 0x0f, 0xb1, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 0, 0, 4, NA, NA, NA, NA,  // lockcmpxchg_16_mr_r_ax
   {OK::MODRM_RM_REG16, OK::MODRM_REG16, OK::IMPLICIT_AX},
   {0xf0, 0x66, 0x0f, 0xb1, 0xc0},
   {0xff, 0xff, 0xff, 0xff, 0xc0}},
  {4, 8, 3, 0, 3, NA, 4, NA, NA,  // lockcmpxchg_32_mB32_r_eax
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0xf0, 0x0f, 0xb1, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 3, 0, 3, NA, 4, NA, NA,  // lockcmpxchg_32_mB8_r_eax
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0xf0, 0x0f, 0xb1, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {3, 4, 3, 0, 3, NA, NA, NA, NA,  // lockcmpxchg_32_mB_r_eax
   {OK::MODRM_RM_BASE, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0xf0, 0x0f, 0xb1, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {6, 9, 3, 0, 3, 4, 5, NA, NA,  // lockcmpxchg_32_mbis32_r_eax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0xf0, 0x0f, 0xb1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 6, 3, 0, 3, 4, 5, NA, NA,  // lockcmpxchg_32_mbis8_r_eax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0xf0, 0x0f, 0xb1, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {5, 5, 3, 0, 3, 4, NA, NA, NA,  // lockcmpxchg_32_mbis_r_eax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0xf0, 0x0f, 0xb1, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // lockcmpxchg_32_mi32_r_eax
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0xf0, 0x0f, 0xb1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 3, NA, 4, NA, NA,  // lockcmpxchg_32_mpc32_r_eax
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0xf0, 0x0f, 0xb1, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 0, 0, 3, NA, NA, NA, NA,  // lockcmpxchg_32_mr_r_eax
   {OK::MODRM_RM_REG32, OK::MODRM_REG32, OK::IMPLICIT_EAX},
   {0xf0, 0x0f, 0xb1, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {4, 8, 4, 1, 3, NA, 4, NA, NA,  // lockcmpxchg_64_mB32_r_rax
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0xf0, 0x0f, 0xb1, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 4, 1, 3, NA, 4, NA, NA,  // lockcmpxchg_64_mB8_r_rax
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0xf0, 0x0f, 0xb1, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {3, 4, 4, 1, 3, NA, NA, NA, NA,  // lockcmpxchg_64_mB_r_rax
   {OK::MODRM_RM_BASE, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0xf0, 0x0f, 0xb1, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {6, 9, 4, 1, 3, 4, 5, NA, NA,  // lockcmpxchg_64_mbis32_r_rax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0xf0, 0x0f, 0xb1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 6, 4, 1, 3, 4, 5, NA, NA,  // lockcmpxchg_64_mbis8_r_rax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0xf0, 0x0f, 0xb1, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {5, 5, 4, 1, 3, 4, NA, NA, NA,  // lockcmpxchg_64_mbis_r_rax
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0xf0, 0x0f, 0xb1, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // lockcmpxchg_64_mi32_r_rax
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0xf0, 0x0f, 0xb1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 3, NA, 4, NA, NA,  // lockcmpxchg_64_mpc32_r_rax
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0xf0, 0x0f, 0xb1, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 0, 1, 3, NA, NA, NA, NA,  // lockcmpxchg_64_mr_r_rax
   {OK::MODRM_RM_REG64, OK::MODRM_REG64, OK::IMPLICIT_RAX},
   {0xf0, 0x0f, 0xb1, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {4, 8, 1, 0, 3, NA, 4, NA, NA,  // lockcmpxchg_8_mB32_r_al
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0xf0, 0x0f, 0xb0, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 3, NA, 4, NA, NA,  // lockcmpxchg_8_mB8_r_al
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0xf0, 0x0f, 0xb0, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {3, 4, 1, 0, 3, NA, NA, NA, NA,  // lockcmpxchg_8_mB_r_al
   {OK::MODRM_RM_BASE, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0xf0, 0x0f, 0xb0, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {6, 9, 1, 0, 3, 4, 5, NA, NA,  // lockcmpxchg_8_mbis32_r_al
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0xf0, 0x0f, 0xb0, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {6, 6, 1, 0, 3, 4, 5, NA, NA,  // lockcmpxchg_8_mbis8_r_al
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0xf0, 0x0f, 0xb0, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {5, 5, 1, 0, 3, 4, NA, NA, NA,  // lockcmpxchg_8_mbis_r_al
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0xf0, 0x0f, 0xb0, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 1, 0, 3, 4, 5, NA, NA,  // lockcmpxchg_8_mi32_r_al
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0xf0, 0x0f, 0xb0, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 1, 0, 3, NA, 4, NA, NA,  // lockcmpxchg_8_mpc32_r_al
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0xf0, 0x0f, 0xb0, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 0, 0, 3, NA, NA, NA, NA,  // lockcmpxchg_8_mr_r_al
   {OK::MODRM_RM_REG8, OK::MODRM_REG8, OK::IMPLICIT_AL},
   {0xf0, 0x0f, 0xb0, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 5, 2, 0, 4, NA, NA, NA, NA,  // lzcnt_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0xf3, 0x66, 0x0f, 0xbd, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0}},
  {3, 9, 2, 0, 4, NA, 5, NA, NA,  // lzcnt_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xbd, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 4, NA, 5, NA, NA,  // lzcnt_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x66, 0x0f, 0xbd, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 6, 2, 0, 4, 5, NA, NA, NA,  // lzcnt_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x66, 0x0f, 0xbd, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 10, 2, 0, 4, 5, 6, NA, NA,  // lzcnt_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xbd, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 4, 5, 6, NA, NA,  // lzcnt_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x66, 0x0f, 0xbd, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 10, 2, 0, 4, 5, 6, NA, NA,  // lzcnt_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xbd, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 4, NA, 5, NA, NA,  // lzcnt_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xbd, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 4, NA, NA, NA, NA,  // lzcnt_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0xf3, 0x66, 0x0f, 0xbd, 0xc0},
   {0xff, 0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // lzcnt_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0xbd, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // lzcnt_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbd, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // lzcnt_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0xbd, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // lzcnt_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0xbd, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // lzcnt_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbd, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // lzcnt_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0xbd, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // lzcnt_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbd, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // lzcnt_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbd, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // lzcnt_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0xf3, 0x0f, 0xbd, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 1, 3, NA, NA, NA, NA,  // lzcnt_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0xbd, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // lzcnt_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbd, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 1, 3, NA, 4, NA, NA,  // lzcnt_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0xbd, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 1, 3, 4, NA, NA, NA,  // lzcnt_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0xbd, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // lzcnt_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbd, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 1, 3, 4, 5, NA, NA,  // lzcnt_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0xbd, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 1, 3, 4, 5, NA, NA,  // lzcnt_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbd, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // lzcnt_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbd, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // lzcnt_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0xf3, 0x0f, 0xbd, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // maxsd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x5f, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // maxsd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // maxsd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5f, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // maxsd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x5f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // maxsd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // maxsd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // maxsd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // maxsd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // maxsd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x5f, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // maxss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x5f, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // maxss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // maxss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5f, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // maxss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x5f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // maxss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // maxss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // maxss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // maxss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // maxss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x5f, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {0, 3, 0, 0, NA, NA, NA, NA, NA,  // mfence
   {},
   {0x0f, 0xae, 0xf0},
   {0xff, 0xff, 0xff}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // minsd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x5d, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // minsd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // minsd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5d, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // minsd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x5d, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // minsd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // minsd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // minsd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // minsd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // minsd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x5d, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // minss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x5d, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // minss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // minss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5d, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // minss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x5d, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // minss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // minss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // minss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // minss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // minss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x5d, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // mov_16_mB32_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0xc7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // mov_16_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x89, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 2, NA, 3, 4, NA,  // mov_16_mB8_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM16},
   {0x66, 0xc7, 0x40, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // mov_16_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x89, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 5, 2, 0, 2, NA, NA, 3, NA,  // mov_16_mB_imm16
   {OK::MODRM_RM_BASE, OK::IMM16},
   {0x66, 0xc7, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // mov_16_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG16},
   {0x66, 0x89, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 10, 2, 0, 2, 3, 4, 8, NA,  // mov_16_mbis32_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0xc7, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // mov_16_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x89, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 2, 3, 4, 5, NA,  // mov_16_mbis8_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM16},
   {0x66, 0xc7, 0x44, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // mov_16_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x89, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 6, 2, 0, 2, 3, NA, 4, NA,  // mov_16_mbis_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM16},
   {0x66, 0xc7, 0x04, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // mov_16_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16},
   {0x66, 0x89, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 10, 2, 0, 2, 3, 4, 8, NA,  // mov_16_mi32_imm16
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0xc7, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // mov_16_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x89, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // mov_16_mpc32_imm16
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0xc7, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // mov_16_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x89, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 2, NA, NA, 3, NA,  // mov_16_mr_imm16
   {OK::MODRM_RM_REG16, OK::IMM16},
   {0x66, 0xc7, 0xc0, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // mov_16_mr_r
   {OK::MODRM_RM_REG16, OK::MODRM_REG16},
   {0x66, 0x89, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 0, 0, NA, NA, NA, 2, 1,  // mov_16_r_imm16
   {OK::BYTE_WITH_REG16, OK::IMM16},
   {0x66, 0xb8, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // mov_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x8b, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // mov_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x8b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // mov_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x8b, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // mov_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x8b, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // mov_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x8b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // mov_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x8b, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // mov_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x8b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // mov_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x8b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // mov_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x8b, 0xc0},
   {0xff, 0xff, 0xc0}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // mov_32_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32},
   {0xc7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // mov_32_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x89, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 3, NA,  // mov_32_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32},
   {0xc7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // mov_32_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32},
   {0x89, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 3, 0, 1, NA, NA, 2, NA,  // mov_32_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32},
   {0xc7, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // mov_32_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG32},
   {0x89, 0x00},
   {0xff, 0xc0}},
  {5, 11, 3, 0, 1, 2, 3, 7, NA,  // mov_32_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0xc7, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // mov_32_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x89, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 4, NA,  // mov_32_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32},
   {0xc7, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // mov_32_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32},
   {0x89, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, NA, 3, NA,  // mov_32_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32},
   {0xc7, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // mov_32_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32},
   {0x89, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 3, 0, 1, 2, 3, 7, NA,  // mov_32_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0xc7, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // mov_32_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x89, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // mov_32_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32},
   {0xc7, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // mov_32_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x89, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 0, 1, NA, NA, 2, NA,  // mov_32_mr_imm32
   {OK::MODRM_RM_REG32, OK::IMM32},
   {0xc7, 0xc0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // mov_32_mr_r
   {OK::MODRM_RM_REG32, OK::MODRM_REG32},
   {0x89, 0xc0},
   {0xff, 0xc0}},
  {2, 5, 0, 0, NA, NA, NA, 1, 0,  // mov_32_r_imm32
   {OK::BYTE_WITH_REG32, OK::IMM32},
   {0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // mov_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x8b, 0x00},
   {0xff, 0xc0}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // mov_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x8b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // mov_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x8b, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // mov_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x8b, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // mov_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x8b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // mov_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x8b, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // mov_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x8b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // mov_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x8b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // mov_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x8b, 0xc0},
   {0xff, 0xc0}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // mov_64_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32_64},
   {0xc7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // mov_64_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x89, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 3, NA,  // mov_64_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32_64},
   {0xc7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // mov_64_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64},
   {0x89, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 4, 1, 1, NA, NA, 2, NA,  // mov_64_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32_64},
   {0xc7, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // mov_64_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG64},
   {0x89, 0x00},
   {0xff, 0xc0}},
  {5, 11, 4, 1, 1, 2, 3, 7, NA,  // mov_64_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0xc7, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // mov_64_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x89, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 4, NA,  // mov_64_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32_64},
   {0xc7, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // mov_64_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64},
   {0x89, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, NA, 3, NA,  // mov_64_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32_64},
   {0xc7, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // mov_64_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64},
   {0x89, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 4, 1, 1, 2, 3, 7, NA,  // mov_64_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0xc7, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // mov_64_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x89, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // mov_64_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32_64},
   {0xc7, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // mov_64_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x89, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 1, 1, NA, NA, 2, NA,  // mov_64_mr_imm32
   {OK::MODRM_RM_REG64, OK::IMM32_64},
   {0xc7, 0xc0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // mov_64_mr_r
   {OK::MODRM_RM_REG64, OK::MODRM_REG64},
   {0x89, 0xc0},
   {0xff, 0xc0}},
  {2, 9, 0, 1, NA, NA, NA, 1, 0,  // mov_64_r_imm64
   {OK::BYTE_WITH_REG64, OK::IMM64},
   {0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // mov_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x8b, 0x00},
   {0xff, 0xc0}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // mov_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x8b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // mov_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x8b, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // mov_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x8b, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // mov_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x8b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // mov_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x8b, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // mov_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x8b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // mov_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x8b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // mov_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x8b, 0xc0},
   {0xff, 0xc0}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // mov_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // mov_8_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x88, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // mov_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc6, 0x40, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // mov_8_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8},
   {0x88, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // mov_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc6, 0x00, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // mov_8_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG8},
   {0x88, 0x00},
   {0xff, 0xc0}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // mov_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc6, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // mov_8_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x88, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // mov_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc6, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // mov_8_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8},
   {0x88, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // mov_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc6, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // mov_8_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8},
   {0x88, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // mov_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc6, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // mov_8_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x88, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // mov_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc6, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // mov_8_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x88, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // mov_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0xc6, 0xc0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // mov_8_mr_r
   {OK::MODRM_RM_REG8, OK::MODRM_REG8},
   {0x88, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 0, 0, NA, NA, NA, 1, 0,  // mov_8_r_imm8
   {OK::BYTE_WITH_REG8, OK::IMM8},
   {0xb0, 0x00},
   {0xf8, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // mov_8_r_mB
   {OK::MODRM_REG8, OK::MODRM_RM_BASE},
   {0x8a, 0x00},
   {0xff, 0xc0}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // mov_8_r_mB32
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x8a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // mov_8_r_mB8
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x8a, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // mov_8_r_mbis
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x8a, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // mov_8_r_mbis32
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x8a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // mov_8_r_mbis8
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x8a, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // mov_8_r_mi32
   {OK::MODRM_REG8, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x8a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // mov_8_r_mpc32
   {OK::MODRM_REG8, OK::RIP_BASE, OK::OFFABS32},
   {0x8a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // mov_8_r_mr
   {OK::MODRM_REG8, OK::MODRM_RM_REG8},
   {0x8a, 0xc0},
   {0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movapd_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x29, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // movapd_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x29, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // movapd_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x29, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // movapd_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x29, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // movapd_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x29, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // movapd_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x29, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // movapd_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x29, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movapd_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x29, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movapd_mx_x
   {OK::MODRM_RM_XREG128, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x29, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // movapd_x_mB
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x28, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movapd_x_mB32
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x28, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // movapd_x_mB8
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x28, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // movapd_x_mbis
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x28, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // movapd_x_mbis32
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x28, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // movapd_x_mbis8
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x28, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // movapd_x_mi32
   {OK::MODRM_XREG128, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x28, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movapd_x_mpc32
   {OK::MODRM_XREG128, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movapd_x_mx
   {OK::MODRM_XREG128, OK::MODRM_RM_XREG128},
   {0x66, 0x0f, 0x28, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 7, 5, 0, 2, NA, 3, NA, NA,  // movaps_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x0f, 0x29, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 5, 0, 2, NA, 3, NA, NA,  // movaps_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x0f, 0x29, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 3, 5, 0, 2, NA, NA, NA, NA,  // movaps_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG128},
   {0x0f, 0x29, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 8, 5, 0, 2, 3, 4, NA, NA,  // movaps_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x0f, 0x29, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 5, 0, 2, 3, 4, NA, NA,  // movaps_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x0f, 0x29, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 5, 0, 2, 3, NA, NA, NA,  // movaps_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG128},
   {0x0f, 0x29, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 8, 5, 0, 2, 3, 4, NA, NA,  // movaps_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x0f, 0x29, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 5, 0, 2, NA, 3, NA, NA,  // movaps_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x0f, 0x29, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // movaps_mx_x
   {OK::MODRM_RM_XREG128, OK::MODRM_XREG128},
   {0x0f, 0x29, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 5, 0, 2, NA, NA, NA, NA,  // movaps_x_mB
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE},
   {0x0f, 0x28, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 5, 0, 2, NA, 3, NA, NA,  // movaps_x_mB32
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x28, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 5, 0, 2, NA, 3, NA, NA,  // movaps_x_mB8
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x28, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 5, 0, 2, 3, NA, NA, NA,  // movaps_x_mbis
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x28, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 5, 0, 2, 3, 4, NA, NA,  // movaps_x_mbis32
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x28, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 5, 0, 2, 3, 4, NA, NA,  // movaps_x_mbis8
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x28, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 5, 0, 2, 3, 4, NA, NA,  // movaps_x_mi32
   {OK::MODRM_XREG128, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x28, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 5, 0, 2, NA, 3, NA, NA,  // movaps_x_mpc32
   {OK::MODRM_XREG128, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // movaps_x_mx
   {OK::MODRM_XREG128, OK::MODRM_RM_XREG128},
   {0x0f, 0x28, 0xc0},
   {0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // movd_32_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG32},
   {0x66, 0x0f, 0x7e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // movd_32_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG32},
   {0x66, 0x0f, 0x7e, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // movd_32_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG32},
   {0x66, 0x0f, 0x7e, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // movd_32_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG32},
   {0x66, 0x0f, 0x7e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // movd_32_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG32},
   {0x66, 0x0f, 0x7e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // movd_32_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG32},
   {0x66, 0x0f, 0x7e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // movd_32_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG32},
   {0x66, 0x0f, 0x7e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // movd_32_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG32},
   {0x66, 0x0f, 0x7e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movd_32_mr_x
   {OK::MODRM_RM_REG32, OK::MODRM_XREG32},
   {0x66, 0x0f, 0x7e, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // movd_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x6e, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // movd_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x6e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // movd_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x6e, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // movd_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x6e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // movd_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x6e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // movd_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x6e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // movd_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x6e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // movd_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x6e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movd_x_mr
   {OK::MODRM_XREG32, OK::MODRM_RM_REG32},
   {0x66, 0x0f, 0x6e, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movdqa_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // movdqa_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x7f, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // movdqa_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x7f, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // movdqa_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x7f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // movdqa_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x7f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // movdqa_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x7f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // movdqa_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x7f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movdqa_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x7f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movdqa_mx_x
   {OK::MODRM_RM_XREG128, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x7f, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // movdqa_x_mB
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x6f, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movdqa_x_mB32
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x6f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // movdqa_x_mB8
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x6f, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // movdqa_x_mbis
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x6f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // movdqa_x_mbis32
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x6f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // movdqa_x_mbis8
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x6f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // movdqa_x_mi32
   {OK::MODRM_XREG128, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x6f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movdqa_x_mpc32
   {OK::MODRM_XREG128, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x6f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movdqa_x_mx
   {OK::MODRM_XREG128, OK::MODRM_RM_XREG128},
   {0x66, 0x0f, 0x6f, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movdqu_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0xf3, 0x0f, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // movdqu_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG128},
   {0xf3, 0x0f, 0x7f, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // movdqu_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG128},
   {0xf3, 0x0f, 0x7f, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // movdqu_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0xf3, 0x0f, 0x7f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // movdqu_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG128},
   {0xf3, 0x0f, 0x7f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // movdqu_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG128},
   {0xf3, 0x0f, 0x7f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // movdqu_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0xf3, 0x0f, 0x7f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movdqu_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0xf3, 0x0f, 0x7f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movdqu_mx_x
   {OK::MODRM_RM_XREG128, OK::MODRM_XREG128},
   {0xf3, 0x0f, 0x7f, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // movdqu_x_mB
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x6f, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movdqu_x_mB32
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x6f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // movdqu_x_mB8
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x6f, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // movdqu_x_mbis
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x6f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // movdqu_x_mbis32
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x6f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // movdqu_x_mbis8
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x6f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // movdqu_x_mi32
   {OK::MODRM_XREG128, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x6f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movdqu_x_mpc32
   {OK::MODRM_XREG128, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x6f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movdqu_x_mx
   {OK::MODRM_XREG128, OK::MODRM_RM_XREG128},
   {0xf3, 0x0f, 0x6f, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // movq_64_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG64},
   {0x66, 0x0f, 0x7e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 1, 3, NA, 4, NA, NA,  // movq_64_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG64},
   {0x66, 0x0f, 0x7e, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 4, 1, 3, NA, NA, NA, NA,  // movq_64_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG64},
   {0x66, 0x0f, 0x7e, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // movq_64_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG64},
   {0x66, 0x0f, 0x7e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 1, 3, 4, 5, NA, NA,  // movq_64_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG64},
   {0x66, 0x0f, 0x7e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 4, 1, 3, 4, NA, NA, NA,  // movq_64_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG64},
   {0x66, 0x0f, 0x7e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 4, 1, 3, 4, 5, NA, NA,  // movq_64_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG64},
   {0x66, 0x0f, 0x7e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // movq_64_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG64},
   {0x66, 0x0f, 0x7e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // movq_64_mr_x
   {OK::MODRM_RM_REG64, OK::MODRM_XREG64},
   {0x66, 0x0f, 0x7e, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // movq_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG64},
   {0x66, 0x0f, 0xd6, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // movq_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG64},
   {0x66, 0x0f, 0xd6, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // movq_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG64},
   {0x66, 0x0f, 0xd6, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // movq_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG64},
   {0x66, 0x0f, 0xd6, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // movq_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG64},
   {0x66, 0x0f, 0xd6, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // movq_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG64},
   {0x66, 0x0f, 0xd6, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // movq_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG64},
   {0x66, 0x0f, 0xd6, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // movq_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG64},
   {0x66, 0x0f, 0xd6, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movq_mx_x
   {OK::MODRM_RM_XREG64, OK::MODRM_XREG64},
   {0x66, 0x0f, 0xd6, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 1, 3, NA, NA, NA, NA,  // movq_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x6e, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // movq_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x6e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // movq_x_mB32_alt
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x7e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 1, 3, NA, 4, NA, NA,  // movq_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x6e, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // movq_x_mB8_alt
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x7e, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // movq_x_mB_alt
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x7e, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {4, 5, 4, 1, 3, 4, NA, NA, NA,  // movq_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x6e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // movq_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x6e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // movq_x_mbis32_alt
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x7e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 1, 3, 4, 5, NA, NA,  // movq_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x6e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // movq_x_mbis8_alt
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x7e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // movq_x_mbis_alt
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x7e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 4, 1, 3, 4, 5, NA, NA,  // movq_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x6e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // movq_x_mi32_alt
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x7e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // movq_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x6e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // movq_x_mpc32_alt
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x7e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // movq_x_mr
   {OK::MODRM_XREG64, OK::MODRM_RM_REG64},
   {0x66, 0x0f, 0x6e, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movq_x_mx_alt
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0xf3, 0x0f, 0x7e, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // movsd_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG64},
   {0xf2, 0x0f, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // movsd_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG64},
   {0xf2, 0x0f, 0x11, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // movsd_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG64},
   {0xf2, 0x0f, 0x11, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // movsd_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG64},
   {0xf2, 0x0f, 0x11, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // movsd_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG64},
   {0xf2, 0x0f, 0x11, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // movsd_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG64},
   {0xf2, 0x0f, 0x11, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // movsd_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG64},
   {0xf2, 0x0f, 0x11, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // movsd_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG64},
   {0xf2, 0x0f, 0x11, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movsd_mx_x
   {OK::MODRM_RM_XREG64, OK::MODRM_XREG64},
   {0xf2, 0x0f, 0x11, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // movsd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x10, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // movsd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // movsd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x10, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // movsd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x10, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // movsd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // movsd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x10, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // movsd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x10, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // movsd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x10, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movsd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x10, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // movss_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG32},
   {0xf3, 0x0f, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // movss_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG32},
   {0xf3, 0x0f, 0x11, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // movss_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG32},
   {0xf3, 0x0f, 0x11, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // movss_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG32},
   {0xf3, 0x0f, 0x11, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // movss_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG32},
   {0xf3, 0x0f, 0x11, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // movss_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG32},
   {0xf3, 0x0f, 0x11, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // movss_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG32},
   {0xf3, 0x0f, 0x11, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // movss_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG32},
   {0xf3, 0x0f, 0x11, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movss_mx_x
   {OK::MODRM_RM_XREG32, OK::MODRM_XREG32},
   {0xf3, 0x0f, 0x11, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // movss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x10, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // movss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // movss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x10, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // movss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x10, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // movss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // movss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x10, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // movss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x10, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // movss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x10, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x10, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 1, 0, 3, NA, NA, NA, NA,  // movsx_16_8_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0xbe, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 1, 0, 3, NA, 4, NA, NA,  // movsx_16_8_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xbe, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 1, 0, 3, NA, 4, NA, NA,  // movsx_16_8_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0xbe, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 1, 0, 3, 4, NA, NA, NA,  // movsx_16_8_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0xbe, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 1, 0, 3, 4, 5, NA, NA,  // movsx_16_8_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xbe, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 1, 0, 3, 4, 5, NA, NA,  // movsx_16_8_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0xbe, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 1, 0, 3, 4, 5, NA, NA,  // movsx_16_8_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xbe, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 1, 0, 3, NA, 4, NA, NA,  // movsx_16_8_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xbe, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movsx_16_8_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG8},
   {0x66, 0x0f, 0xbe, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // movsx_32_16_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0xbf, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // movsx_32_16_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xbf, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // movsx_32_16_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xbf, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // movsx_32_16_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xbf, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // movsx_32_16_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xbf, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // movsx_32_16_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xbf, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // movsx_32_16_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xbf, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // movsx_32_16_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xbf, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // movsx_32_16_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG16},
   {0x0f, 0xbf, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 1, 0, 2, NA, NA, NA, NA,  // movsx_32_8_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0xbe, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 1, 0, 2, NA, 3, NA, NA,  // movsx_32_8_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xbe, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 2, NA, 3, NA, NA,  // movsx_32_8_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xbe, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 1, 0, 2, 3, NA, NA, NA,  // movsx_32_8_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xbe, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 1, 0, 2, 3, 4, NA, NA,  // movsx_32_8_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xbe, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 2, 3, 4, NA, NA,  // movsx_32_8_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xbe, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // movsx_32_8_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xbe, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 2, NA, 3, NA, NA,  // movsx_32_8_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xbe, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // movsx_32_8_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG8},
   {0x0f, 0xbe, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 2, 1, 2, NA, NA, NA, NA,  // movsx_64_16_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0xbf, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 1, 2, NA, 3, NA, NA,  // movsx_64_16_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xbf, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 1, 2, NA, 3, NA, NA,  // movsx_64_16_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xbf, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 1, 2, 3, NA, NA, NA,  // movsx_64_16_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xbf, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 1, 2, 3, 4, NA, NA,  // movsx_64_16_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xbf, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 1, 2, 3, 4, NA, NA,  // movsx_64_16_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xbf, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 1, 2, 3, 4, NA, NA,  // movsx_64_16_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xbf, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 1, 2, NA, 3, NA, NA,  // movsx_64_16_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xbf, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // movsx_64_16_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG16},
   {0x0f, 0xbf, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 1, 1, 2, NA, NA, NA, NA,  // movsx_64_8_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0xbe, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 1, 1, 2, NA, 3, NA, NA,  // movsx_64_8_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xbe, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 1, 2, NA, 3, NA, NA,  // movsx_64_8_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xbe, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 1, 1, 2, 3, NA, NA, NA,  // movsx_64_8_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xbe, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 1, 1, 2, 3, 4, NA, NA,  // movsx_64_8_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xbe, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 1, 2, 3, 4, NA, NA,  // movsx_64_8_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xbe, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 1, 1, 2, 3, 4, NA, NA,  // movsx_64_8_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xbe, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 1, 2, NA, 3, NA, NA,  // movsx_64_8_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xbe, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // movsx_64_8_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG8},
   {0x0f, 0xbe, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // movsxd_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x63, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // movsxd_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x63, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // movsxd_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x63, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // movsxd_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x63, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // movsxd_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x63, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // movsxd_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x63, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // movsxd_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x63, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // movsxd_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x63, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // movsxd_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x63, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // movsxd_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x63, 0x00},
   {0xff, 0xc0}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // movsxd_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x63, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // movsxd_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x63, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // movsxd_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x63, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // movsxd_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x63, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // movsxd_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x63, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // movsxd_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x63, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // movsxd_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x63, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // movsxd_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x63, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 3, 1, 1, NA, NA, NA, NA,  // movsxd_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x63, 0x00},
   {0xff, 0xc0}},
  {3, 6, 3, 1, 1, NA, 2, NA, NA,  // movsxd_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x63, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 1, 1, NA, 2, NA, NA,  // movsxd_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x63, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 3, 1, 1, 2, NA, NA, NA,  // movsxd_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x63, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 3, 1, 1, 2, 3, NA, NA,  // movsxd_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x63, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 1, 1, 2, 3, NA, NA,  // movsxd_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x63, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 1, 1, 2, 3, NA, NA,  // movsxd_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x63, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 1, 1, NA, 2, NA, NA,  // movsxd_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x63, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // movsxd_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG32},
   {0x63, 0xc0},
   {0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movupd_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // movupd_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x11, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // movupd_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x11, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // movupd_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x11, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // movupd_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x11, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // movupd_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x11, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // movupd_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x11, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movupd_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x11, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movupd_mx_x
   {OK::MODRM_RM_XREG128, OK::MODRM_XREG128},
   {0x66, 0x0f, 0x11, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // movupd_x_mB
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x10, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movupd_x_mB32
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // movupd_x_mB8
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x10, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // movupd_x_mbis
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x10, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // movupd_x_mbis32
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // movupd_x_mbis8
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x10, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // movupd_x_mi32
   {OK::MODRM_XREG128, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x10, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // movupd_x_mpc32
   {OK::MODRM_XREG128, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x10, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movupd_x_mx
   {OK::MODRM_XREG128, OK::MODRM_RM_XREG128},
   {0x66, 0x0f, 0x10, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 7, 5, 0, 2, NA, 3, NA, NA,  // movups_mB32_x
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x0f, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 5, 0, 2, NA, 3, NA, NA,  // movups_mB8_x
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x0f, 0x11, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 3, 5, 0, 2, NA, NA, NA, NA,  // movups_mB_x
   {OK::MODRM_RM_BASE, OK::MODRM_XREG128},
   {0x0f, 0x11, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 8, 5, 0, 2, 3, 4, NA, NA,  // movups_mbis32_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x0f, 0x11, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 5, 0, 2, 3, 4, NA, NA,  // movups_mbis8_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_XREG128},
   {0x0f, 0x11, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 5, 0, 2, 3, NA, NA, NA,  // movups_mbis_x
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_XREG128},
   {0x0f, 0x11, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 8, 5, 0, 2, 3, 4, NA, NA,  // movups_mi32_x
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x0f, 0x11, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 5, 0, 2, NA, 3, NA, NA,  // movups_mpc32_x
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_XREG128},
   {0x0f, 0x11, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // movups_mx_x
   {OK::MODRM_RM_XREG128, OK::MODRM_XREG128},
   {0x0f, 0x11, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 5, 0, 2, NA, NA, NA, NA,  // movups_x_mB
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE},
   {0x0f, 0x10, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 5, 0, 2, NA, 3, NA, NA,  // movups_x_mB32
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 5, 0, 2, NA, 3, NA, NA,  // movups_x_mB8
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x10, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 5, 0, 2, 3, NA, NA, NA,  // movups_x_mbis
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x10, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 5, 0, 2, 3, 4, NA, NA,  // movups_x_mbis32
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 5, 0, 2, 3, 4, NA, NA,  // movups_x_mbis8
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x10, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 5, 0, 2, 3, 4, NA, NA,  // movups_x_mi32
   {OK::MODRM_XREG128, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x10, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 5, 0, 2, NA, 3, NA, NA,  // movups_x_mpc32
   {OK::MODRM_XREG128, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x10, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // movups_x_mx
   {OK::MODRM_XREG128, OK::MODRM_RM_XREG128},
   {0x0f, 0x10, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 1, 0, 3, NA, NA, NA, NA,  // movzx_16_8_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0xb6, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 1, 0, 3, NA, 4, NA, NA,  // movzx_16_8_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xb6, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 1, 0, 3, NA, 4, NA, NA,  // movzx_16_8_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0xb6, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 1, 0, 3, 4, NA, NA, NA,  // movzx_16_8_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0xb6, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 1, 0, 3, 4, 5, NA, NA,  // movzx_16_8_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xb6, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 1, 0, 3, 4, 5, NA, NA,  // movzx_16_8_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0xb6, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 1, 0, 3, 4, 5, NA, NA,  // movzx_16_8_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xb6, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 1, 0, 3, NA, 4, NA, NA,  // movzx_16_8_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xb6, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // movzx_16_8_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG8},
   {0x66, 0x0f, 0xb6, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // movzx_32_16_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0xb7, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // movzx_32_16_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xb7, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // movzx_32_16_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xb7, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // movzx_32_16_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xb7, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // movzx_32_16_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xb7, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // movzx_32_16_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xb7, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // movzx_32_16_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xb7, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // movzx_32_16_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xb7, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // movzx_32_16_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG16},
   {0x0f, 0xb7, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 1, 0, 2, NA, NA, NA, NA,  // movzx_32_8_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0f, 0xb6, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 1, 0, 2, NA, 3, NA, NA,  // movzx_32_8_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xb6, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 2, NA, 3, NA, NA,  // movzx_32_8_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xb6, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 1, 0, 2, 3, NA, NA, NA,  // movzx_32_8_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xb6, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 1, 0, 2, 3, 4, NA, NA,  // movzx_32_8_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xb6, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 2, 3, 4, NA, NA,  // movzx_32_8_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xb6, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // movzx_32_8_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xb6, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 2, NA, 3, NA, NA,  // movzx_32_8_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xb6, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // movzx_32_8_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG8},
   {0x0f, 0xb6, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 2, 1, 2, NA, NA, NA, NA,  // movzx_64_16_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0xb7, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 1, 2, NA, 3, NA, NA,  // movzx_64_16_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xb7, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 1, 2, NA, 3, NA, NA,  // movzx_64_16_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xb7, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 1, 2, 3, NA, NA, NA,  // movzx_64_16_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xb7, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 1, 2, 3, 4, NA, NA,  // movzx_64_16_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xb7, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 1, 2, 3, 4, NA, NA,  // movzx_64_16_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xb7, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 1, 2, 3, 4, NA, NA,  // movzx_64_16_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xb7, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 1, 2, NA, 3, NA, NA,  // movzx_64_16_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xb7, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // movzx_64_16_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG16},
   {0x0f, 0xb7, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 1, 1, 2, NA, NA, NA, NA,  // movzx_64_8_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0f, 0xb6, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 1, 1, 2, NA, 3, NA, NA,  // movzx_64_8_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xb6, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 1, 2, NA, 3, NA, NA,  // movzx_64_8_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xb6, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 1, 1, 2, 3, NA, NA, NA,  // movzx_64_8_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xb6, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 1, 1, 2, 3, 4, NA, NA,  // movzx_64_8_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xb6, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 1, 2, 3, 4, NA, NA,  // movzx_64_8_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xb6, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 1, 1, 2, 3, 4, NA, NA,  // movzx_64_8_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xb6, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 1, 2, NA, 3, NA, NA,  // movzx_64_8_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xb6, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 2, NA, NA, NA, NA,  // movzx_64_8_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG8},
   {0x0f, 0xb6, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // mulsd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x59, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // mulsd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x59, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // mulsd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x59, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // mulsd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x59, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // mulsd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x59, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // mulsd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x59, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // mulsd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x59, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // mulsd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x59, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // mulsd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x59, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // mulss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x59, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // mulss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x59, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // mulss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x59, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // mulss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x59, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // mulss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x59, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // mulss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x59, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // mulss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x59, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // mulss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x59, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // mulss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x59, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {1, 3, 2, 0, 2, NA, NA, NA, NA,  // neg_16_mB
   {OK::MODRM_RM_BASE},
   {0x66, 0xf7, 0x18},
   {0xff, 0xff, 0xf8}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // neg_16_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0x98, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, 3, NA, NA,  // neg_16_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0xf7, 0x58, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, 3, NA, NA, NA,  // neg_16_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0xf7, 0x1c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // neg_16_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, 4, NA, NA,  // neg_16_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0xf7, 0x5c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 2, 0, 2, 3, 4, NA, NA,  // neg_16_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0x1c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // neg_16_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0x1d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // neg_16_mr
   {OK::MODRM_RM_REG16},
   {0x66, 0xf7, 0xd8},
   {0xff, 0xff, 0xf8}},
  {1, 2, 3, 0, 1, NA, NA, NA, NA,  // neg_32_mB
   {OK::MODRM_RM_BASE},
   {0xf7, 0x18},
   {0xff, 0xf8}},
  {2, 6, 3, 0, 1, NA, 2, NA, NA,  // neg_32_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0x98, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 3, 0, 1, NA, 2, NA, NA,  // neg_32_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x58, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 3, 0, 1, 2, NA, NA, NA,  // neg_32_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x1c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // neg_32_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, 2, 3, NA, NA,  // neg_32_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x5c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 3, 0, 1, 2, 3, NA, NA,  // neg_32_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x1c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 3, 0, 1, NA, 2, NA, NA,  // neg_32_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x1d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // neg_32_mr
   {OK::MODRM_RM_REG32},
   {0xf7, 0xd8},
   {0xff, 0xf8}},
  {1, 2, 4, 1, 1, NA, NA, NA, NA,  // neg_64_mB
   {OK::MODRM_RM_BASE},
   {0xf7, 0x18},
   {0xff, 0xf8}},
  {2, 6, 4, 1, 1, NA, 2, NA, NA,  // neg_64_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0x98, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 1, 1, NA, 2, NA, NA,  // neg_64_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x58, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 1, 1, 2, NA, NA, NA,  // neg_64_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x1c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // neg_64_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, 2, 3, NA, NA,  // neg_64_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x5c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 4, 1, 1, 2, 3, NA, NA,  // neg_64_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x1c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 4, 1, 1, NA, 2, NA, NA,  // neg_64_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x1d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 1, 1, NA, NA, NA, NA,  // neg_64_mr
   {OK::MODRM_RM_REG64},
   {0xf7, 0xd8},
   {0xff, 0xf8}},
  {1, 2, 1, 0, 1, NA, NA, NA, NA,  // neg_8_mB
   {OK::MODRM_RM_BASE},
   {0xf6, 0x18},
   {0xff, 0xf8}},
  {2, 6, 1, 0, 1, NA, 2, NA, NA,  // neg_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf6, 0x98, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 1, 0, 1, NA, 2, NA, NA,  // neg_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf6, 0x58, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 1, 0, 1, 2, NA, NA, NA,  // neg_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf6, 0x1c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // neg_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, 3, NA, NA,  // neg_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf6, 0x5c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 1, 0, 1, 2, 3, NA, NA,  // neg_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0x1c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 1, 0, 1, NA, 2, NA, NA,  // neg_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xf6, 0x1d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // neg_8_mr
   {OK::MODRM_RM_REG8},
   {0xf6, 0xd8},
   {0xff, 0xf8}},
  {1, 3, 2, 0, 2, NA, NA, NA, NA,  // not_16_mB
   {OK::MODRM_RM_BASE},
   {0x66, 0xf7, 0x10},
   {0xff, 0xff, 0xf8}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // not_16_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0x90, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, 3, NA, NA,  // not_16_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0xf7, 0x50, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, 3, NA, NA, NA,  // not_16_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0xf7, 0x14, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // not_16_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, 4, NA, NA,  // not_16_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0xf7, 0x54, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 2, 0, 2, 3, 4, NA, NA,  // not_16_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xf7, 0x14, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // not_16_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0xf7, 0x15, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // not_16_mr
   {OK::MODRM_RM_REG16},
   {0x66, 0xf7, 0xd0},
   {0xff, 0xff, 0xf8}},
  {1, 2, 3, 0, 1, NA, NA, NA, NA,  // not_32_mB
   {OK::MODRM_RM_BASE},
   {0xf7, 0x10},
   {0xff, 0xf8}},
  {2, 6, 3, 0, 1, NA, 2, NA, NA,  // not_32_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0x90, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 3, 0, 1, NA, 2, NA, NA,  // not_32_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x50, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 3, 0, 1, 2, NA, NA, NA,  // not_32_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x14, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // not_32_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, 2, 3, NA, NA,  // not_32_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x54, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 3, 0, 1, 2, 3, NA, NA,  // not_32_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x14, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 3, 0, 1, NA, 2, NA, NA,  // not_32_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x15, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // not_32_mr
   {OK::MODRM_RM_REG32},
   {0xf7, 0xd0},
   {0xff, 0xf8}},
  {1, 2, 4, 1, 1, NA, NA, NA, NA,  // not_64_mB
   {OK::MODRM_RM_BASE},
   {0xf7, 0x10},
   {0xff, 0xf8}},
  {2, 6, 4, 1, 1, NA, 2, NA, NA,  // not_64_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf7, 0x90, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 1, 1, NA, 2, NA, NA,  // not_64_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf7, 0x50, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 1, 1, 2, NA, NA, NA,  // not_64_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf7, 0x14, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // not_64_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, 2, 3, NA, NA,  // not_64_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf7, 0x54, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 4, 1, 1, 2, 3, NA, NA,  // not_64_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf7, 0x14, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 4, 1, 1, NA, 2, NA, NA,  // not_64_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xf7, 0x15, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 1, 1, NA, NA, NA, NA,  // not_64_mr
   {OK::MODRM_RM_REG64},
   {0xf7, 0xd0},
   {0xff, 0xf8}},
  {1, 2, 1, 0, 1, NA, NA, NA, NA,  // not_8_mB
   {OK::MODRM_RM_BASE},
   {0xf6, 0x10},
   {0xff, 0xf8}},
  {2, 6, 1, 0, 1, NA, 2, NA, NA,  // not_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf6, 0x90, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 1, 0, 1, NA, 2, NA, NA,  // not_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf6, 0x50, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 1, 0, 1, 2, NA, NA, NA,  // not_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf6, 0x14, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // not_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, 3, NA, NA,  // not_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf6, 0x54, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 1, 0, 1, 2, 3, NA, NA,  // not_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf6, 0x14, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 1, 0, 1, NA, 2, NA, NA,  // not_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xf6, 0x15, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // not_8_mr
   {OK::MODRM_RM_REG8},
   {0xf6, 0xd0},
   {0xff, 0xf8}},
  {2, 4, 0, 0, NA, NA, NA, 2, NA,  // or_16_ax_imm16
   {OK::IMPLICIT_AX, OK::IMM16},
   {0x66, 0x0d, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // or_16_mB32_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // or_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // or_16_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 2, NA, 3, 4, NA,  // or_16_mB8_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x48, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // or_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x48, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // or_16_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x09, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 5, 2, 0, 2, NA, NA, 3, NA,  // or_16_mB_imm16
   {OK::MODRM_RM_BASE, OK::IMM16},
   {0x66, 0x81, 0x08, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // or_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_16},
   {0x66, 0x83, 0x08, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // or_16_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG16},
   {0x66, 0x09, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 10, 2, 0, 2, 3, 4, 8, NA,  // or_16_mbis32_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // or_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // or_16_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x09, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 2, 3, 4, 5, NA,  // or_16_mbis8_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x4c, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // or_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x4c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // or_16_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x09, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 6, 2, 0, 2, 3, NA, 4, NA,  // or_16_mbis_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM16},
   {0x66, 0x81, 0x0c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // or_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_16},
   {0x66, 0x83, 0x0c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // or_16_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16},
   {0x66, 0x09, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 10, 2, 0, 2, 3, 4, 8, NA,  // or_16_mi32_imm16
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // or_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // or_16_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x09, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // or_16_mpc32_imm16
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // or_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // or_16_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 2, NA, NA, 3, NA,  // or_16_mr_imm16
   {OK::MODRM_RM_REG16, OK::IMM16},
   {0x66, 0x81, 0xc8, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // or_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8_16},
   {0x66, 0x83, 0xc8, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // or_16_mr_r
   {OK::MODRM_RM_REG16, OK::MODRM_REG16},
   {0x66, 0x09, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // or_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x0b, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // or_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // or_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0b, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // or_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0b, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // or_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // or_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0b, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // or_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // or_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // or_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x0b, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 5, 0, 0, NA, NA, NA, 1, NA,  // or_32_eax_imm32
   {OK::IMPLICIT_EAX, OK::IMM32},
   {0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // or_32_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // or_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // or_32_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x09, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 3, NA,  // or_32_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // or_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x48, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // or_32_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32},
   {0x09, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 3, 0, 1, NA, NA, 2, NA,  // or_32_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32},
   {0x81, 0x08, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // or_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_32},
   {0x83, 0x08, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // or_32_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG32},
   {0x09, 0x00},
   {0xff, 0xc0}},
  {5, 11, 3, 0, 1, 2, 3, 7, NA,  // or_32_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // or_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // or_32_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x09, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 4, NA,  // or_32_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // or_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x4c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // or_32_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32},
   {0x09, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, NA, 3, NA,  // or_32_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32},
   {0x81, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // or_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_32},
   {0x83, 0x0c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // or_32_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32},
   {0x09, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 3, 0, 1, 2, 3, 7, NA,  // or_32_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // or_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // or_32_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x09, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // or_32_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // or_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // or_32_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x09, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 0, 1, NA, NA, 2, NA,  // or_32_mr_imm32
   {OK::MODRM_RM_REG32, OK::IMM32},
   {0x81, 0xc8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // or_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8_32},
   {0x83, 0xc8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // or_32_mr_r
   {OK::MODRM_RM_REG32, OK::MODRM_REG32},
   {0x09, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // or_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x0b, 0x00},
   {0xff, 0xc0}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // or_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // or_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0b, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // or_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0b, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // or_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // or_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0b, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // or_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // or_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // or_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x0b, 0xc0},
   {0xff, 0xc0}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // or_64_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // or_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // or_64_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x09, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 3, NA,  // or_64_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // or_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x48, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // or_64_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64},
   {0x09, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 4, 1, 1, NA, NA, 2, NA,  // or_64_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32_64},
   {0x81, 0x08, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // or_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_64},
   {0x83, 0x08, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // or_64_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG64},
   {0x09, 0x00},
   {0xff, 0xc0}},
  {5, 11, 4, 1, 1, 2, 3, 7, NA,  // or_64_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // or_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // or_64_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x09, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 4, NA,  // or_64_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // or_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x4c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // or_64_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64},
   {0x09, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, NA, 3, NA,  // or_64_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32_64},
   {0x81, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // or_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_64},
   {0x83, 0x0c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // or_64_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64},
   {0x09, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 4, 1, 1, 2, 3, 7, NA,  // or_64_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // or_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // or_64_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x09, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // or_64_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // or_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // or_64_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x09, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 1, 1, NA, NA, 2, NA,  // or_64_mr_imm32
   {OK::MODRM_RM_REG64, OK::IMM32_64},
   {0x81, 0xc8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // or_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8_64},
   {0x83, 0xc8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // or_64_mr_r
   {OK::MODRM_RM_REG64, OK::MODRM_REG64},
   {0x09, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // or_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x0b, 0x00},
   {0xff, 0xc0}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // or_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // or_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0b, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // or_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0b, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // or_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // or_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0b, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // or_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // or_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x0b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // or_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x0b, 0xc0},
   {0xff, 0xc0}},
  {2, 5, 0, 1, NA, NA, NA, 1, NA,  // or_64_rax_imm32
   {OK::IMPLICIT_RAX, OK::IMM32_64},
   {0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, NA, NA, NA, 1, NA,  // or_8_al_imm8
   {OK::IMPLICIT_AL, OK::IMM8},
   {0x0c, 0x00},
   {0xff, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // or_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // or_8_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x08, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // or_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x48, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // or_8_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8},
   {0x08, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // or_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x80, 0x08, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // or_8_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG8},
   {0x08, 0x00},
   {0xff, 0xc0}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // or_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // or_8_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x08, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // or_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x4c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // or_8_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8},
   {0x08, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // or_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x80, 0x0c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // or_8_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8},
   {0x08, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // or_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // or_8_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x08, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // or_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // or_8_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x08, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // or_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0x80, 0xc8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // or_8_mr_r
   {OK::MODRM_RM_REG8, OK::MODRM_REG8},
   {0x08, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // or_8_r_mB
   {OK::MODRM_REG8, OK::MODRM_RM_BASE},
   {0x0a, 0x00},
   {0xff, 0xc0}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // or_8_r_mB32
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // or_8_r_mB8
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0a, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // or_8_r_mbis
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0a, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // or_8_r_mbis32
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // or_8_r_mbis8
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0a, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // or_8_r_mi32
   {OK::MODRM_REG8, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // or_8_r_mpc32
   {OK::MODRM_REG8, OK::RIP_BASE, OK::OFFABS32},
   {0x0a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // or_8_r_mr
   {OK::MODRM_REG8, OK::MODRM_RM_REG8},
   {0x0a, 0xc0},
   {0xff, 0xc0}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // pand_x_mB
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0xdb, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // pand_x_mB32
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xdb, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // pand_x_mB8
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0xdb, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // pand_x_mbis
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0xdb, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // pand_x_mbis32
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xdb, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // pand_x_mbis8
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0xdb, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // pand_x_mi32
   {OK::MODRM_XREG128, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xdb, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // pand_x_mpc32
   {OK::MODRM_XREG128, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xdb, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // pand_x_mx
   {OK::MODRM_XREG128, OK::MODRM_RM_XREG128},
   {0x66, 0x0f, 0xdb, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {1, 3, 2, 0, 2, NA, NA, NA, NA,  // pop_16_mB
   {OK::MODRM_RM_BASE},
   {0x66, 0x8f, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // pop_16_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x8f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, 3, NA, NA,  // pop_16_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x8f, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, 3, NA, NA, NA,  // pop_16_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x8f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // pop_16_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x8f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, 4, NA, NA,  // pop_16_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x8f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 2, 0, 2, 3, 4, NA, NA,  // pop_16_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x8f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // pop_16_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x8f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // pop_16_mr
   {OK::MODRM_RM_REG16},
   {0x66, 0x8f, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 2, 0, 0, NA, NA, NA, NA, 1,  // pop_16_r
   {OK::BYTE_WITH_REG16},
   {0x66, 0x58},
   {0xff, 0xf8}},
  {1, 2, 4, 0, 1, NA, NA, NA, NA,  // pop_64_mB
   {OK::MODRM_RM_BASE},
   {0x8f, 0x00},
   {0xff, 0xf8}},
  {2, 6, 4, 0, 1, NA, 2, NA, NA,  // pop_64_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x8f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 0, 1, NA, 2, NA, NA,  // pop_64_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x8f, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 0, 1, 2, NA, NA, NA,  // pop_64_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x8f, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 4, 0, 1, 2, 3, NA, NA,  // pop_64_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x8f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 0, 1, 2, 3, NA, NA,  // pop_64_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x8f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 4, 0, 1, 2, 3, NA, NA,  // pop_64_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x8f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 4, 0, 1, NA, 2, NA, NA,  // pop_64_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x8f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // pop_64_mr
   {OK::MODRM_RM_REG64},
   {0x8f, 0xc0},
   {0xff, 0xf8}},
  {1, 1, 0, 0, NA, NA, NA, NA, 0,  // pop_64_r
   {OK::BYTE_WITH_REG64},
   {0x58},
   {0xf8}},
  {2, 5, 2, 0, 4, NA, NA, NA, NA,  // popcnt_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0xf3, 0x66, 0x0f, 0xb8, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0}},
  {3, 9, 2, 0, 4, NA, 5, NA, NA,  // popcnt_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xb8, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 4, NA, 5, NA, NA,  // popcnt_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x66, 0x0f, 0xb8, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 6, 2, 0, 4, 5, NA, NA, NA,  // popcnt_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x66, 0x0f, 0xb8, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 10, 2, 0, 4, 5, 6, NA, NA,  // popcnt_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xb8, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 4, 5, 6, NA, NA,  // popcnt_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x66, 0x0f, 0xb8, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 10, 2, 0, 4, 5, 6, NA, NA,  // popcnt_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xb8, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 4, NA, 5, NA, NA,  // popcnt_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xb8, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 4, NA, NA, NA, NA,  // popcnt_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0xf3, 0x66, 0x0f, 0xb8, 0xc0},
   {0xff, 0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // popcnt_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0xb8, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // popcnt_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xb8, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // popcnt_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0xb8, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // popcnt_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0xb8, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // popcnt_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xb8, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // popcnt_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0xb8, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // popcnt_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xb8, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // popcnt_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xb8, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // popcnt_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0xf3, 0x0f, 0xb8, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 1, 3, NA, NA, NA, NA,  // popcnt_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0xb8, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // popcnt_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xb8, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 1, 3, NA, 4, NA, NA,  // popcnt_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0xb8, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 1, 3, 4, NA, NA, NA,  // popcnt_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0xb8, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // popcnt_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xb8, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 1, 3, 4, 5, NA, NA,  // popcnt_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0xb8, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 1, 3, 4, 5, NA, NA,  // popcnt_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xb8, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // popcnt_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xb8, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // popcnt_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0xf3, 0x0f, 0xb8, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // por_x_mB
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0xeb, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // por_x_mB32
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xeb, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // por_x_mB8
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0xeb, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // por_x_mbis
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0xeb, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // por_x_mbis32
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xeb, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // por_x_mbis8
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0xeb, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // por_x_mi32
   {OK::MODRM_XREG128, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xeb, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // por_x_mpc32
   {OK::MODRM_XREG128, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xeb, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // por_x_mx
   {OK::MODRM_XREG128, OK::MODRM_RM_XREG128},
   {0x66, 0x0f, 0xeb, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {1, 4, 0, 0, NA, NA, NA, 2, NA,  // push_16_imm16
   {OK::IMM16},
   {0x66, 0x68, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {1, 3, 2, 0, 2, NA, NA, NA, NA,  // push_16_mB
   {OK::MODRM_RM_BASE},
   {0x66, 0xff, 0x30},
   {0xff, 0xff, 0xf8}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // push_16_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, 3, NA, NA,  // push_16_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0xff, 0x70, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, 3, NA, NA, NA,  // push_16_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0xff, 0x34, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // push_16_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, 4, NA, NA,  // push_16_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0xff, 0x74, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 2, 0, 2, 3, 4, NA, NA,  // push_16_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0xff, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 2, 0, 2, NA, 3, NA, NA,  // push_16_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0xff, 0x35, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // push_16_mr
   {OK::MODRM_RM_REG16},
   {0x66, 0xff, 0xf0},
   {0xff, 0xff, 0xf8}},
  {1, 2, 0, 0, NA, NA, NA, NA, 1,  // push_16_r
   {OK::BYTE_WITH_REG16},
   {0x66, 0x50},
   {0xff, 0xf8}},
  {1, 5, 0, 0, NA, NA, NA, 1, NA,  // push_64_imm32
   {OK::IMM32_64},
   {0x68, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, NA, NA, NA, 1, NA,  // push_64_imm8
   {OK::IMM8_64},
   {0x6a, 0x00},
   {0xff, 0x00}},
  {1, 2, 4, 0, 1, NA, NA, NA, NA,  // push_64_mB
   {OK::MODRM_RM_BASE},
   {0xff, 0x30},
   {0xff, 0xf8}},
  {2, 6, 4, 0, 1, NA, 2, NA, NA,  // push_64_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xff, 0xb0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 0, 1, NA, 2, NA, NA,  // push_64_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xff, 0x70, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 0, 1, 2, NA, NA, NA,  // push_64_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xff, 0x34, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 7, 4, 0, 1, 2, 3, NA, NA,  // push_64_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 0, 1, 2, 3, NA, NA,  // push_64_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xff, 0x74, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 7, 4, 0, 1, 2, 3, NA, NA,  // push_64_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xff, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 4, 0, 1, NA, 2, NA, NA,  // push_64_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0xff, 0x35, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 2, 0, 0, 1, NA, NA, NA, NA,  // push_64_mr
   {OK::MODRM_RM_REG64},
   {0xff, 0xf0},
   {0xff, 0xf8}},
  {1, 1, 0, 0, NA, NA, NA, NA, 0,  // push_64_r
   {OK::BYTE_WITH_REG64},
   {0x50},
   {0xf8}},
  {2, 4, 5, 0, 3, NA, NA, NA, NA,  // pxor_x_mB
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0xef, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // pxor_x_mB32
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xef, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 5, 0, 3, NA, 4, NA, NA,  // pxor_x_mB8
   {OK::MODRM_XREG128, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0xef, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 5, 0, 3, 4, NA, NA, NA,  // pxor_x_mbis
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0xef, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 5, 0, 3, 4, 5, NA, NA,  // pxor_x_mbis32
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xef, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 5, 0, 3, 4, 5, NA, NA,  // pxor_x_mbis8
   {OK::MODRM_XREG128, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0xef, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 5, 0, 3, 4, 5, NA, NA,  // pxor_x_mi32
   {OK::MODRM_XREG128, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0xef, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 5, 0, 3, NA, 4, NA, NA,  // pxor_x_mpc32
   {OK::MODRM_XREG128, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0xef, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // pxor_x_mx
   {OK::MODRM_XREG128, OK::MODRM_RM_XREG128},
   {0x66, 0x0f, 0xef, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {0, 1, 0, 0, NA, NA, NA, NA, NA,  // ret
   {},
   {0xc3},
   {0xff}},
  {1, 3, 0, 0, NA, NA, NA, 1, NA,  // ret_imm16
   {OK::IMM16},
   {0xc2, 0x00, 0x00},
   {0xff, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // rol_16_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // rol_16_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // rol_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // rol_16_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // rol_16_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // rol_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x40, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // rol_16_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // rol_16_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // rol_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x66, 0xc1, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // rol_16_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // rol_16_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // rol_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // rol_16_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // rol_16_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // rol_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // rol_16_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // rol_16_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // rol_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x66, 0xc1, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // rol_16_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // rol_16_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // rol_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // rol_16_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // rol_16_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // rol_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // rol_16_mr_1
   {OK::MODRM_RM_REG16, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xc0},
   {0xff, 0xff, 0xf8}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // rol_16_mr_cl
   {OK::MODRM_RM_REG16, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xc0},
   {0xff, 0xff, 0xf8}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // rol_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8},
   {0x66, 0xc1, 0xc0, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // rol_32_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // rol_32_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // rol_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // rol_32_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // rol_32_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // rol_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x40, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // rol_32_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x00},
   {0xff, 0xf8}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // rol_32_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x00},
   {0xff, 0xf8}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // rol_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x00, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // rol_32_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // rol_32_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // rol_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // rol_32_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // rol_32_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // rol_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // rol_32_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // rol_32_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // rol_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // rol_32_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // rol_32_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // rol_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // rol_32_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // rol_32_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // rol_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // rol_32_mr_1
   {OK::MODRM_RM_REG32, OK::IMPLICIT_1},
   {0xd1, 0xc0},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // rol_32_mr_cl
   {OK::MODRM_RM_REG32, OK::IMPLICIT_CL},
   {0xd3, 0xc0},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // rol_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8},
   {0xc1, 0xc0, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // rol_64_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // rol_64_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // rol_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // rol_64_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // rol_64_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // rol_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x40, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // rol_64_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x00},
   {0xff, 0xf8}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // rol_64_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x00},
   {0xff, 0xf8}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // rol_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x00, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // rol_64_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // rol_64_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // rol_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // rol_64_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // rol_64_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // rol_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // rol_64_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // rol_64_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // rol_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // rol_64_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // rol_64_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // rol_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // rol_64_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // rol_64_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // rol_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // rol_64_mr_1
   {OK::MODRM_RM_REG64, OK::IMPLICIT_1},
   {0xd1, 0xc0},
   {0xff, 0xf8}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // rol_64_mr_cl
   {OK::MODRM_RM_REG64, OK::IMPLICIT_CL},
   {0xd3, 0xc0},
   {0xff, 0xf8}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // rol_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8},
   {0xc1, 0xc0, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // rol_8_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // rol_8_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // rol_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // rol_8_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // rol_8_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x40, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // rol_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x40, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // rol_8_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd0, 0x00},
   {0xff, 0xf8}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // rol_8_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd2, 0x00},
   {0xff, 0xf8}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // rol_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc0, 0x00, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // rol_8_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // rol_8_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // rol_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // rol_8_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // rol_8_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // rol_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // rol_8_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd0, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // rol_8_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd2, 0x04, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // rol_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc0, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // rol_8_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // rol_8_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // rol_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // rol_8_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // rol_8_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // rol_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // rol_8_mr_1
   {OK::MODRM_RM_REG8, OK::IMPLICIT_1},
   {0xd0, 0xc0},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // rol_8_mr_cl
   {OK::MODRM_RM_REG8, OK::IMPLICIT_CL},
   {0xd2, 0xc0},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // rol_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0xc0, 0xc0, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // ror_16_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x88, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // ror_16_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x88, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // ror_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // ror_16_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x48, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // ror_16_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x48, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // ror_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x48, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // ror_16_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x08},
   {0xff, 0xff, 0xf8}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // ror_16_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x08},
   {0xff, 0xff, 0xf8}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // ror_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x66, 0xc1, 0x08, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // ror_16_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // ror_16_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // ror_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // ror_16_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x4c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // ror_16_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x4c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // ror_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x4c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // ror_16_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x0c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // ror_16_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x0c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // ror_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x66, 0xc1, 0x0c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // ror_16_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // ror_16_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // ror_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // ror_16_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // ror_16_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // ror_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // ror_16_mr_1
   {OK::MODRM_RM_REG16, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xc8},
   {0xff, 0xff, 0xf8}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // ror_16_mr_cl
   {OK::MODRM_RM_REG16, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xc8},
   {0xff, 0xff, 0xf8}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // ror_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8},
   {0x66, 0xc1, 0xc8, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // ror_32_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x88, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // ror_32_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x88, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // ror_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // ror_32_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x48, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // ror_32_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x48, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // ror_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x48, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // ror_32_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x08},
   {0xff, 0xf8}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // ror_32_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x08},
   {0xff, 0xf8}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // ror_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x08, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // ror_32_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // ror_32_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // ror_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // ror_32_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x4c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // ror_32_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x4c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // ror_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x4c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // ror_32_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x0c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // ror_32_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x0c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // ror_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x0c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // ror_32_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // ror_32_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // ror_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // ror_32_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // ror_32_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // ror_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // ror_32_mr_1
   {OK::MODRM_RM_REG32, OK::IMPLICIT_1},
   {0xd1, 0xc8},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // ror_32_mr_cl
   {OK::MODRM_RM_REG32, OK::IMPLICIT_CL},
   {0xd3, 0xc8},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // ror_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8},
   {0xc1, 0xc8, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // ror_64_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x88, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // ror_64_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x88, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // ror_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // ror_64_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x48, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // ror_64_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x48, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // ror_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x48, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // ror_64_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x08},
   {0xff, 0xf8}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // ror_64_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x08},
   {0xff, 0xf8}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // ror_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x08, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // ror_64_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // ror_64_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // ror_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // ror_64_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x4c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // ror_64_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x4c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // ror_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x4c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // ror_64_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x0c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // ror_64_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x0c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // ror_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x0c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // ror_64_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // ror_64_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // ror_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // ror_64_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // ror_64_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // ror_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // ror_64_mr_1
   {OK::MODRM_RM_REG64, OK::IMPLICIT_1},
   {0xd1, 0xc8},
   {0xff, 0xf8}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // ror_64_mr_cl
   {OK::MODRM_RM_REG64, OK::IMPLICIT_CL},
   {0xd3, 0xc8},
   {0xff, 0xf8}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // ror_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8},
   {0xc1, 0xc8, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // ror_8_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x88, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // ror_8_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x88, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // ror_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // ror_8_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x48, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // ror_8_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x48, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // ror_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x48, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // ror_8_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd0, 0x08},
   {0xff, 0xf8}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // ror_8_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd2, 0x08},
   {0xff, 0xf8}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // ror_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc0, 0x08, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // ror_8_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // ror_8_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // ror_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // ror_8_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x4c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // ror_8_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x4c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // ror_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x4c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // ror_8_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd0, 0x0c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // ror_8_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd2, 0x0c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // ror_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc0, 0x0c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // ror_8_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // ror_8_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // ror_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x0c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // ror_8_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // ror_8_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x0d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // ror_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // ror_8_mr_1
   {OK::MODRM_RM_REG8, OK::IMPLICIT_1},
   {0xd0, 0xc8},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // ror_8_mr_cl
   {OK::MODRM_RM_REG8, OK::IMPLICIT_CL},
   {0xd2, 0xc8},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // ror_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0xc0, 0xc8, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // sar_16_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // sar_16_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // sar_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // sar_16_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x78, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // sar_16_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x78, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // sar_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x78, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // sar_16_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x38},
   {0xff, 0xff, 0xf8}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // sar_16_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x38},
   {0xff, 0xff, 0xf8}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // sar_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x66, 0xc1, 0x38, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // sar_16_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // sar_16_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // sar_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // sar_16_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // sar_16_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // sar_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x7c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // sar_16_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x3c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // sar_16_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x3c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // sar_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x66, 0xc1, 0x3c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // sar_16_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // sar_16_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // sar_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // sar_16_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // sar_16_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // sar_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // sar_16_mr_1
   {OK::MODRM_RM_REG16, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xf8},
   {0xff, 0xff, 0xf8}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // sar_16_mr_cl
   {OK::MODRM_RM_REG16, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xf8},
   {0xff, 0xff, 0xf8}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // sar_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8},
   {0x66, 0xc1, 0xf8, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // sar_32_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // sar_32_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // sar_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // sar_32_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x78, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // sar_32_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x78, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // sar_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x78, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // sar_32_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x38},
   {0xff, 0xf8}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // sar_32_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x38},
   {0xff, 0xf8}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // sar_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x38, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // sar_32_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // sar_32_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // sar_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // sar_32_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // sar_32_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // sar_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x7c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // sar_32_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x3c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // sar_32_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x3c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // sar_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x3c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // sar_32_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // sar_32_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // sar_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // sar_32_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // sar_32_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // sar_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // sar_32_mr_1
   {OK::MODRM_RM_REG32, OK::IMPLICIT_1},
   {0xd1, 0xf8},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // sar_32_mr_cl
   {OK::MODRM_RM_REG32, OK::IMPLICIT_CL},
   {0xd3, 0xf8},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // sar_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8},
   {0xc1, 0xf8, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // sar_64_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // sar_64_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // sar_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // sar_64_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x78, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // sar_64_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x78, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // sar_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x78, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // sar_64_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x38},
   {0xff, 0xf8}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // sar_64_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x38},
   {0xff, 0xf8}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // sar_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x38, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // sar_64_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // sar_64_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // sar_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // sar_64_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // sar_64_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // sar_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x7c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // sar_64_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x3c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // sar_64_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x3c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // sar_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x3c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // sar_64_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // sar_64_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // sar_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // sar_64_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // sar_64_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // sar_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // sar_64_mr_1
   {OK::MODRM_RM_REG64, OK::IMPLICIT_1},
   {0xd1, 0xf8},
   {0xff, 0xf8}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // sar_64_mr_cl
   {OK::MODRM_RM_REG64, OK::IMPLICIT_CL},
   {0xd3, 0xf8},
   {0xff, 0xf8}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // sar_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8},
   {0xc1, 0xf8, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // sar_8_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // sar_8_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0xb8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // sar_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // sar_8_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x78, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // sar_8_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x78, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // sar_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x78, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // sar_8_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd0, 0x38},
   {0xff, 0xf8}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // sar_8_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd2, 0x38},
   {0xff, 0xf8}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // sar_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc0, 0x38, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // sar_8_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // sar_8_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // sar_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // sar_8_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // sar_8_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x7c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // sar_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x7c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // sar_8_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd0, 0x3c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // sar_8_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd2, 0x3c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // sar_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc0, 0x3c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // sar_8_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // sar_8_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // sar_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x3c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // sar_8_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // sar_8_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x3d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // sar_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // sar_8_mr_1
   {OK::MODRM_RM_REG8, OK::IMPLICIT_1},
   {0xd0, 0xf8},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // sar_8_mr_cl
   {OK::MODRM_RM_REG8, OK::IMPLICIT_CL},
   {0xd2, 0xf8},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // sar_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0xc0, 0xf8, 0x00},
   {0xff, 0xf8, 0x00}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // seta_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x97, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // seta_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x97, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // seta_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x97, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // seta_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x97, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // seta_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x97, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // seta_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x97, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // seta_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x97, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // seta_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x97, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // seta_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x97, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setae_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x93, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setae_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x93, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setae_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x93, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setae_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x93, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setae_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x93, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setae_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x93, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setae_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x93, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setae_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x93, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setae_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x93, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setb_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x92, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setb_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x92, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setb_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x92, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setb_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x92, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setb_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x92, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setb_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x92, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setb_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x92, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setb_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x92, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setb_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x92, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setbe_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x96, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setbe_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setbe_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x96, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setbe_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x96, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setbe_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x96, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setbe_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x96, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setbe_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x96, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setbe_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x96, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setbe_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x96, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // sete_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x94, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // sete_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x94, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // sete_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x94, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // sete_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x94, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // sete_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x94, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // sete_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x94, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // sete_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x94, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // sete_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x94, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // sete_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x94, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setg_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x9f, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setg_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x9f, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setg_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x9f, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setg_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x9f, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setg_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setg_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x9f, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setg_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9f, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setg_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x9f, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setg_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x9f, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setge_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x9d, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setge_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x9d, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setge_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x9d, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setge_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x9d, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setge_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9d, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setge_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x9d, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setge_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9d, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setge_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x9d, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setge_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x9d, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setl_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x9c, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setl_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x9c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setl_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x9c, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setl_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x9c, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setl_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setl_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x9c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setl_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setl_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x9c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setl_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x9c, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setle_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x9e, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setle_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x9e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setle_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x9e, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setle_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x9e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setle_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setle_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x9e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setle_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setle_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x9e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setle_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x9e, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setne_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x95, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setne_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x95, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setne_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x95, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setne_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x95, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setne_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x95, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setne_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x95, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setne_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x95, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setne_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x95, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setne_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x95, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setno_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x91, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setno_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x91, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setno_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x91, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setno_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x91, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setno_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x91, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setno_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x91, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setno_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x91, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setno_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x91, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setno_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x91, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setnp_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x9b, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setnp_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x9b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setnp_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x9b, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setnp_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x9b, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setnp_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setnp_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x9b, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setnp_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setnp_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x9b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setnp_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x9b, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setns_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x99, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setns_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x99, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setns_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x99, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setns_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x99, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setns_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x99, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setns_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x99, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setns_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x99, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setns_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x99, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setns_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x99, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // seto_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x90, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // seto_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x90, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // seto_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x90, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // seto_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x90, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // seto_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x90, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // seto_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x90, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // seto_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x90, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // seto_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x90, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // seto_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x90, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // setp_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x9a, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setp_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x9a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // setp_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x9a, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // setp_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x9a, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // setp_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // setp_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x9a, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // setp_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x9a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // setp_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x9a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // setp_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x9a, 0xc0},
   {0xff, 0xff, 0xf8}},
  {1, 3, 1, 0, 2, NA, NA, NA, NA,  // sets_8_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0x98, 0x00},
   {0xff, 0xff, 0xf8}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // sets_8_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x98, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 1, 0, 2, NA, 3, NA, NA,  // sets_8_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x98, 0x40, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 2, 3, NA, NA, NA,  // sets_8_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x98, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 1, 0, 2, 3, 4, NA, NA,  // sets_8_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x98, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 1, 0, 2, 3, 4, NA, NA,  // sets_8_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x98, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 1, 0, 2, 3, 4, NA, NA,  // sets_8_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x98, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 1, 0, 2, NA, 3, NA, NA,  // sets_8_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x98, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // sets_8_mr
   {OK::MODRM_RM_REG8},
   {0x0f, 0x98, 0xc0},
   {0xff, 0xff, 0xf8}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // shl_16_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xa0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // shl_16_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xa0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // shl_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // shl_16_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x60, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // shl_16_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x60, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // shl_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x60, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // shl_16_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x20},
   {0xff, 0xff, 0xf8}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // shl_16_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x20},
   {0xff, 0xff, 0xf8}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // shl_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x66, 0xc1, 0x20, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // shl_16_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // shl_16_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // shl_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // shl_16_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x64, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // shl_16_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x64, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // shl_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x64, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // shl_16_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x24, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // shl_16_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x24, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // shl_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x66, 0xc1, 0x24, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // shl_16_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // shl_16_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // shl_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // shl_16_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // shl_16_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // shl_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // shl_16_mr_1
   {OK::MODRM_RM_REG16, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xe0},
   {0xff, 0xff, 0xf8}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // shl_16_mr_cl
   {OK::MODRM_RM_REG16, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xe0},
   {0xff, 0xff, 0xf8}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // shl_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8},
   {0x66, 0xc1, 0xe0, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // shl_32_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xa0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // shl_32_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xa0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // shl_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // shl_32_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x60, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // shl_32_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x60, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // shl_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x60, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // shl_32_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x20},
   {0xff, 0xf8}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // shl_32_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x20},
   {0xff, 0xf8}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // shl_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x20, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // shl_32_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // shl_32_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // shl_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // shl_32_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x64, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // shl_32_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x64, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // shl_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x64, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // shl_32_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x24, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // shl_32_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x24, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // shl_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x24, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // shl_32_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // shl_32_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // shl_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // shl_32_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // shl_32_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // shl_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // shl_32_mr_1
   {OK::MODRM_RM_REG32, OK::IMPLICIT_1},
   {0xd1, 0xe0},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // shl_32_mr_cl
   {OK::MODRM_RM_REG32, OK::IMPLICIT_CL},
   {0xd3, 0xe0},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // shl_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8},
   {0xc1, 0xe0, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // shl_64_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xa0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // shl_64_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xa0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // shl_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // shl_64_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x60, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // shl_64_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x60, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // shl_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x60, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // shl_64_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x20},
   {0xff, 0xf8}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // shl_64_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x20},
   {0xff, 0xf8}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // shl_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x20, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // shl_64_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // shl_64_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // shl_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // shl_64_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x64, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // shl_64_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x64, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // shl_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x64, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // shl_64_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x24, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // shl_64_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x24, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // shl_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x24, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // shl_64_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // shl_64_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // shl_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // shl_64_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // shl_64_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // shl_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // shl_64_mr_1
   {OK::MODRM_RM_REG64, OK::IMPLICIT_1},
   {0xd1, 0xe0},
   {0xff, 0xf8}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // shl_64_mr_cl
   {OK::MODRM_RM_REG64, OK::IMPLICIT_CL},
   {0xd3, 0xe0},
   {0xff, 0xf8}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // shl_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8},
   {0xc1, 0xe0, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // shl_8_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0xa0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // shl_8_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0xa0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // shl_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // shl_8_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x60, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // shl_8_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x60, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // shl_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x60, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // shl_8_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd0, 0x20},
   {0xff, 0xf8}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // shl_8_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd2, 0x20},
   {0xff, 0xf8}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // shl_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc0, 0x20, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // shl_8_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // shl_8_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // shl_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // shl_8_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x64, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // shl_8_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x64, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // shl_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x64, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // shl_8_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd0, 0x24, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // shl_8_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd2, 0x24, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // shl_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc0, 0x24, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // shl_8_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // shl_8_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // shl_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x24, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // shl_8_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // shl_8_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x25, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // shl_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // shl_8_mr_1
   {OK::MODRM_RM_REG8, OK::IMPLICIT_1},
   {0xd0, 0xe0},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // shl_8_mr_cl
   {OK::MODRM_RM_REG8, OK::IMPLICIT_CL},
   {0xd2, 0xe0},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // shl_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0xc0, 0xe0, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // shr_16_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // shr_16_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // shr_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // shr_16_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x68, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // shr_16_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x68, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // shr_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x68, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // shr_16_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x28},
   {0xff, 0xff, 0xf8}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // shr_16_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x28},
   {0xff, 0xff, 0xf8}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // shr_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x66, 0xc1, 0x28, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // shr_16_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // shr_16_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // shr_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // shr_16_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // shr_16_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // shr_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x66, 0xc1, 0x6c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // shr_16_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x2c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // shr_16_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x2c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // shr_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x66, 0xc1, 0x2c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // shr_16_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // shr_16_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // shr_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // shr_16_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0x66, 0xd1, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // shr_16_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // shr_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x66, 0xc1, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // shr_16_mr_1
   {OK::MODRM_RM_REG16, OK::IMPLICIT_1},
   {0x66, 0xd1, 0xe8},
   {0xff, 0xff, 0xf8}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // shr_16_mr_cl
   {OK::MODRM_RM_REG16, OK::IMPLICIT_CL},
   {0x66, 0xd3, 0xe8},
   {0xff, 0xff, 0xf8}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // shr_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8},
   {0x66, 0xc1, 0xe8, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // shr_32_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // shr_32_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // shr_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // shr_32_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x68, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // shr_32_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x68, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // shr_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x68, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // shr_32_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x28},
   {0xff, 0xf8}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // shr_32_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x28},
   {0xff, 0xf8}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // shr_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x28, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // shr_32_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // shr_32_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // shr_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // shr_32_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // shr_32_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // shr_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x6c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // shr_32_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x2c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // shr_32_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x2c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // shr_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x2c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // shr_32_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // shr_32_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // shr_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // shr_32_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // shr_32_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // shr_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // shr_32_mr_1
   {OK::MODRM_RM_REG32, OK::IMPLICIT_1},
   {0xd1, 0xe8},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // shr_32_mr_cl
   {OK::MODRM_RM_REG32, OK::IMPLICIT_CL},
   {0xd3, 0xe8},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // shr_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8},
   {0xc1, 0xe8, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // shr_64_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // shr_64_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // shr_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // shr_64_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x68, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // shr_64_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x68, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // shr_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x68, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // shr_64_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd1, 0x28},
   {0xff, 0xf8}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // shr_64_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd3, 0x28},
   {0xff, 0xf8}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // shr_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc1, 0x28, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // shr_64_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // shr_64_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // shr_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // shr_64_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd1, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // shr_64_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd3, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // shr_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc1, 0x6c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // shr_64_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd1, 0x2c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // shr_64_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd3, 0x2c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // shr_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc1, 0x2c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // shr_64_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // shr_64_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // shr_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // shr_64_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd1, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // shr_64_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd3, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // shr_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc1, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // shr_64_mr_1
   {OK::MODRM_RM_REG64, OK::IMPLICIT_1},
   {0xd1, 0xe8},
   {0xff, 0xf8}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // shr_64_mr_cl
   {OK::MODRM_RM_REG64, OK::IMPLICIT_CL},
   {0xd3, 0xe8},
   {0xff, 0xf8}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // shr_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8},
   {0xc1, 0xe8, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // shr_8_mB32_1
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // shr_8_mB32_cl
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0xa8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // shr_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // shr_8_mB8_1
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x68, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // shr_8_mB8_cl
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x68, 0x00},
   {0xff, 0xf8, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // shr_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x68, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // shr_8_mB_1
   {OK::MODRM_RM_BASE, OK::IMPLICIT_1},
   {0xd0, 0x28},
   {0xff, 0xf8}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // shr_8_mB_cl
   {OK::MODRM_RM_BASE, OK::IMPLICIT_CL},
   {0xd2, 0x28},
   {0xff, 0xf8}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // shr_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xc0, 0x28, 0x00},
   {0xff, 0xf8, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // shr_8_mbis32_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // shr_8_mbis32_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // shr_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // shr_8_mbis8_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_1},
   {0xd0, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // shr_8_mbis8_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMPLICIT_CL},
   {0xd2, 0x6c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // shr_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xc0, 0x6c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // shr_8_mbis_1
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_1},
   {0xd0, 0x2c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // shr_8_mbis_cl
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMPLICIT_CL},
   {0xd2, 0x2c, 0x00},
   {0xff, 0xff, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // shr_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xc0, 0x2c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // shr_8_mi32_1
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // shr_8_mi32_cl
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // shr_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // shr_8_mpc32_1
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_1},
   {0xd0, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // shr_8_mpc32_cl
   {OK::RIP_BASE, OK::OFFABS32, OK::IMPLICIT_CL},
   {0xd2, 0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // shr_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xc0, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // shr_8_mr_1
   {OK::MODRM_RM_REG8, OK::IMPLICIT_1},
   {0xd0, 0xe8},
   {0xff, 0xf8}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // shr_8_mr_cl
   {OK::MODRM_RM_REG8, OK::IMPLICIT_CL},
   {0xd2, 0xe8},
   {0xff, 0xf8}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // shr_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0xc0, 0xe8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // sqrtsd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x51, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // sqrtsd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x51, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // sqrtsd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x51, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // sqrtsd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x51, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // sqrtsd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x51, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // sqrtsd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x51, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // sqrtsd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x51, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // sqrtsd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x51, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // sqrtsd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x51, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // sqrtss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x51, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // sqrtss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x51, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // sqrtss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x51, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // sqrtss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x51, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // sqrtss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x51, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // sqrtss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x51, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // sqrtss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x51, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // sqrtss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x51, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // sqrtss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x51, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {1, 3, 3, 0, 2, NA, NA, NA, NA,  // stmxcsr_32_mB
   {OK::MODRM_RM_BASE},
   {0x0f, 0xae, 0x18},
   {0xff, 0xff, 0xf8}},
  {2, 7, 3, 0, 2, NA, 3, NA, NA,  // stmxcsr_32_mB32
   {OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0xae, 0x98, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 3, 0, 2, NA, 3, NA, NA,  // stmxcsr_32_mB8
   {OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0xae, 0x58, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {3, 4, 3, 0, 2, 3, NA, NA, NA,  // stmxcsr_32_mbis
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0xae, 0x1c, 0x00},
   {0xff, 0xff, 0xff, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // stmxcsr_32_mbis32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xae, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 5, 3, 0, 2, 3, 4, NA, NA,  // stmxcsr_32_mbis8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0xae, 0x5c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {3, 8, 3, 0, 2, 3, 4, NA, NA,  // stmxcsr_32_mi32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0xae, 0x1c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {2, 7, 3, 0, 2, NA, 3, NA, NA,  // stmxcsr_32_mpc32
   {OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0xae, 0x1d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {1, 3, 0, 0, 2, NA, NA, NA, NA,  // stmxcsr_32_mr
   {OK::MODRM_RM_REG32},
   {0x0f, 0xae, 0xd8},
   {0xff, 0xff, 0xf8}},
  {2, 4, 0, 0, NA, NA, NA, 2, NA,  // sub_16_ax_imm16
   {OK::IMPLICIT_AX, OK::IMM16},
   {0x66, 0x2d, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // sub_16_mB32_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // sub_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // sub_16_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x29, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 2, NA, 3, 4, NA,  // sub_16_mB8_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x68, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // sub_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x68, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // sub_16_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x29, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 5, 2, 0, 2, NA, NA, 3, NA,  // sub_16_mB_imm16
   {OK::MODRM_RM_BASE, OK::IMM16},
   {0x66, 0x81, 0x28, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // sub_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_16},
   {0x66, 0x83, 0x28, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // sub_16_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG16},
   {0x66, 0x29, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 10, 2, 0, 2, 3, 4, 8, NA,  // sub_16_mbis32_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // sub_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // sub_16_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x29, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 2, 3, 4, 5, NA,  // sub_16_mbis8_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x6c, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // sub_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x6c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // sub_16_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x29, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 6, 2, 0, 2, 3, NA, 4, NA,  // sub_16_mbis_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM16},
   {0x66, 0x81, 0x2c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // sub_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_16},
   {0x66, 0x83, 0x2c, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // sub_16_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16},
   {0x66, 0x29, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 10, 2, 0, 2, 3, 4, 8, NA,  // sub_16_mi32_imm16
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // sub_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // sub_16_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x29, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // sub_16_mpc32_imm16
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // sub_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // sub_16_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x29, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 2, NA, NA, 3, NA,  // sub_16_mr_imm16
   {OK::MODRM_RM_REG16, OK::IMM16},
   {0x66, 0x81, 0xe8, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // sub_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8_16},
   {0x66, 0x83, 0xe8, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // sub_16_mr_r
   {OK::MODRM_RM_REG16, OK::MODRM_REG16},
   {0x66, 0x29, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // sub_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x2b, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // sub_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x2b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // sub_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x2b, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // sub_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x2b, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // sub_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x2b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // sub_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x2b, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // sub_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x2b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // sub_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // sub_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x2b, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 5, 0, 0, NA, NA, NA, 1, NA,  // sub_32_eax_imm32
   {OK::IMPLICIT_EAX, OK::IMM32},
   {0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // sub_32_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // sub_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // sub_32_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x29, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 3, NA,  // sub_32_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // sub_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x68, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // sub_32_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32},
   {0x29, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 3, 0, 1, NA, NA, 2, NA,  // sub_32_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32},
   {0x81, 0x28, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // sub_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_32},
   {0x83, 0x28, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // sub_32_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG32},
   {0x29, 0x00},
   {0xff, 0xc0}},
  {5, 11, 3, 0, 1, 2, 3, 7, NA,  // sub_32_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // sub_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // sub_32_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x29, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 4, NA,  // sub_32_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // sub_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x6c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // sub_32_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32},
   {0x29, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, NA, 3, NA,  // sub_32_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32},
   {0x81, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // sub_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_32},
   {0x83, 0x2c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // sub_32_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32},
   {0x29, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 3, 0, 1, 2, 3, 7, NA,  // sub_32_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // sub_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // sub_32_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x29, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // sub_32_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // sub_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // sub_32_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x29, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 0, 1, NA, NA, 2, NA,  // sub_32_mr_imm32
   {OK::MODRM_RM_REG32, OK::IMM32},
   {0x81, 0xe8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // sub_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8_32},
   {0x83, 0xe8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // sub_32_mr_r
   {OK::MODRM_RM_REG32, OK::MODRM_REG32},
   {0x29, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // sub_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x2b, 0x00},
   {0xff, 0xc0}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // sub_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x2b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // sub_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x2b, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // sub_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x2b, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // sub_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x2b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // sub_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x2b, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // sub_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x2b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // sub_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x2b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // sub_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x2b, 0xc0},
   {0xff, 0xc0}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // sub_64_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // sub_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // sub_64_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x29, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 3, NA,  // sub_64_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // sub_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x68, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // sub_64_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64},
   {0x29, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 4, 1, 1, NA, NA, 2, NA,  // sub_64_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32_64},
   {0x81, 0x28, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // sub_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_64},
   {0x83, 0x28, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // sub_64_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG64},
   {0x29, 0x00},
   {0xff, 0xc0}},
  {5, 11, 4, 1, 1, 2, 3, 7, NA,  // sub_64_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // sub_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // sub_64_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x29, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 4, NA,  // sub_64_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // sub_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x6c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // sub_64_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64},
   {0x29, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, NA, 3, NA,  // sub_64_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32_64},
   {0x81, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // sub_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_64},
   {0x83, 0x2c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // sub_64_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64},
   {0x29, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 4, 1, 1, 2, 3, 7, NA,  // sub_64_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // sub_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // sub_64_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x29, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // sub_64_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // sub_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // sub_64_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x29, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 1, 1, NA, NA, 2, NA,  // sub_64_mr_imm32
   {OK::MODRM_RM_REG64, OK::IMM32_64},
   {0x81, 0xe8, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // sub_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8_64},
   {0x83, 0xe8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // sub_64_mr_r
   {OK::MODRM_RM_REG64, OK::MODRM_REG64},
   {0x29, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // sub_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x2b, 0x00},
   {0xff, 0xc0}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // sub_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x2b, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // sub_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x2b, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // sub_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x2b, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // sub_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x2b, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // sub_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x2b, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // sub_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x2b, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // sub_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x2b, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // sub_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x2b, 0xc0},
   {0xff, 0xc0}},
  {2, 5, 0, 1, NA, NA, NA, 1, NA,  // sub_64_rax_imm32
   {OK::IMPLICIT_RAX, OK::IMM32_64},
   {0x2d, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, NA, NA, NA, 1, NA,  // sub_8_al_imm8
   {OK::IMPLICIT_AL, OK::IMM8},
   {0x2c, 0x00},
   {0xff, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // sub_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // sub_8_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x28, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // sub_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x68, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // sub_8_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8},
   {0x28, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // sub_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x80, 0x28, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // sub_8_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG8},
   {0x28, 0x00},
   {0xff, 0xc0}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // sub_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // sub_8_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x28, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // sub_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x6c, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // sub_8_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8},
   {0x28, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // sub_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x80, 0x2c, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // sub_8_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8},
   {0x28, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // sub_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x2c, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // sub_8_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x28, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // sub_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // sub_8_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x28, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // sub_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0x80, 0xe8, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // sub_8_mr_r
   {OK::MODRM_RM_REG8, OK::MODRM_REG8},
   {0x28, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // sub_8_r_mB
   {OK::MODRM_REG8, OK::MODRM_RM_BASE},
   {0x2a, 0x00},
   {0xff, 0xc0}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // sub_8_r_mB32
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x2a, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // sub_8_r_mB8
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x2a, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // sub_8_r_mbis
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x2a, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // sub_8_r_mbis32
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x2a, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // sub_8_r_mbis8
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x2a, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // sub_8_r_mi32
   {OK::MODRM_REG8, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x2a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // sub_8_r_mpc32
   {OK::MODRM_REG8, OK::RIP_BASE, OK::OFFABS32},
   {0x2a, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // sub_8_r_mr
   {OK::MODRM_REG8, OK::MODRM_RM_REG8},
   {0x2a, 0xc0},
   {0xff, 0xc0}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // subsd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0xf2, 0x0f, 0x5c, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // subsd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // subsd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5c, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // subsd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf2, 0x0f, 0x5c, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // subsd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // subsd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf2, 0x0f, 0x5c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // subsd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // subsd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf2, 0x0f, 0x5c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // subsd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0xf2, 0x0f, 0x5c, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // subss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0x5c, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // subss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5c, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // subss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5c, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // subss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0x5c, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // subss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5c, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // subss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0x5c, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // subss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5c, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // subss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0x5c, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // subss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0xf3, 0x0f, 0x5c, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {0, 2, 0, 0, NA, NA, NA, NA, NA,  // syscall
   {},
   {0x0f, 0x05},
   {0xff, 0xff}},
  {2, 4, 0, 0, NA, NA, NA, 2, NA,  // test_16_ax_imm16
   {OK::IMPLICIT_AX, OK::IMM16},
   {0x66, 0xa9, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // test_16_mB32_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0xf7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // test_16_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x85, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 2, NA, 3, 4, NA,  // test_16_mB8_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM16},
   {0x66, 0xf7, 0x40, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // test_16_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x85, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 5, 2, 0, 2, NA, NA, 3, NA,  // test_16_mB_imm16
   {OK::MODRM_RM_BASE, OK::IMM16},
   {0x66, 0xf7, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // test_16_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG16},
   {0x66, 0x85, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 10, 2, 0, 2, 3, 4, 8, NA,  // test_16_mbis32_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0xf7, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // test_16_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x85, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 2, 3, 4, 5, NA,  // test_16_mbis8_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM16},
   {0x66, 0xf7, 0x44, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // test_16_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x85, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 6, 2, 0, 2, 3, NA, 4, NA,  // test_16_mbis_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM16},
   {0x66, 0xf7, 0x04, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // test_16_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16},
   {0x66, 0x85, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 10, 2, 0, 2, 3, 4, 8, NA,  // test_16_mi32_imm16
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0xf7, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // test_16_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x85, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // test_16_mpc32_imm16
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0xf7, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // test_16_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x85, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 2, NA, NA, 3, NA,  // test_16_mr_imm16
   {OK::MODRM_RM_REG16, OK::IMM16},
   {0x66, 0xf7, 0xc0, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // test_16_mr_r
   {OK::MODRM_RM_REG16, OK::MODRM_REG16},
   {0x66, 0x85, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 5, 0, 0, NA, NA, NA, 1, NA,  // test_32_eax_imm32
   {OK::IMPLICIT_EAX, OK::IMM32},
   {0xa9, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // test_32_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32},
   {0xf7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // test_32_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x85, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 3, NA,  // test_32_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32},
   {0xf7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // test_32_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32},
   {0x85, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 3, 0, 1, NA, NA, 2, NA,  // test_32_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32},
   {0xf7, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // test_32_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG32},
   {0x85, 0x00},
   {0xff, 0xc0}},
  {5, 11, 3, 0, 1, 2, 3, 7, NA,  // test_32_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0xf7, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // test_32_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x85, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 4, NA,  // test_32_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32},
   {0xf7, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // test_32_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32},
   {0x85, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, NA, 3, NA,  // test_32_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32},
   {0xf7, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // test_32_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32},
   {0x85, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 3, 0, 1, 2, 3, 7, NA,  // test_32_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0xf7, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // test_32_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x85, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // test_32_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32},
   {0xf7, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // test_32_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x85, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 0, 1, NA, NA, 2, NA,  // test_32_mr_imm32
   {OK::MODRM_RM_REG32, OK::IMM32},
   {0xf7, 0xc0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // test_32_mr_r
   {OK::MODRM_RM_REG32, OK::MODRM_REG32},
   {0x85, 0xc0},
   {0xff, 0xc0}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // test_64_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32_64},
   {0xf7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // test_64_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x85, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 3, NA,  // test_64_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32_64},
   {0xf7, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // test_64_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64},
   {0x85, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 4, 1, 1, NA, NA, 2, NA,  // test_64_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32_64},
   {0xf7, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // test_64_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG64},
   {0x85, 0x00},
   {0xff, 0xc0}},
  {5, 11, 4, 1, 1, 2, 3, 7, NA,  // test_64_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0xf7, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // test_64_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x85, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 4, NA,  // test_64_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32_64},
   {0xf7, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // test_64_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64},
   {0x85, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, NA, 3, NA,  // test_64_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32_64},
   {0xf7, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // test_64_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64},
   {0x85, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 4, 1, 1, 2, 3, 7, NA,  // test_64_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0xf7, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // test_64_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x85, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // test_64_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32_64},
   {0xf7, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // test_64_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x85, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 1, 1, NA, NA, 2, NA,  // test_64_mr_imm32
   {OK::MODRM_RM_REG64, OK::IMM32_64},
   {0xf7, 0xc0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // test_64_mr_r
   {OK::MODRM_RM_REG64, OK::MODRM_REG64},
   {0x85, 0xc0},
   {0xff, 0xc0}},
  {2, 5, 0, 1, NA, NA, NA, 1, NA,  // test_64_rax_imm32
   {OK::IMPLICIT_RAX, OK::IMM32_64},
   {0xa9, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, NA, NA, NA, 1, NA,  // test_8_al_imm8
   {OK::IMPLICIT_AL, OK::IMM8},
   {0xa8, 0x00},
   {0xff, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // test_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0xf6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // test_8_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x84, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // test_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0xf6, 0x40, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // test_8_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8},
   {0x84, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // test_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0xf6, 0x00, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // test_8_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG8},
   {0x84, 0x00},
   {0xff, 0xc0}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // test_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xf6, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // test_8_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x84, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // test_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0xf6, 0x44, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // test_8_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8},
   {0x84, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // test_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0xf6, 0x04, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // test_8_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8},
   {0x84, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // test_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0xf6, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // test_8_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x84, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // test_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0xf6, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // test_8_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x84, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // test_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0xf6, 0xc0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // test_8_mr_r
   {OK::MODRM_RM_REG8, OK::MODRM_REG8},
   {0x84, 0xc0},
   {0xff, 0xc0}},
  {2, 5, 2, 0, 4, NA, NA, NA, NA,  // tzcnt_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0xf3, 0x66, 0x0f, 0xbc, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0}},
  {3, 9, 2, 0, 4, NA, 5, NA, NA,  // tzcnt_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xbc, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 4, NA, 5, NA, NA,  // tzcnt_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x66, 0x0f, 0xbc, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 6, 2, 0, 4, 5, NA, NA, NA,  // tzcnt_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x66, 0x0f, 0xbc, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 10, 2, 0, 4, 5, 6, NA, NA,  // tzcnt_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xbc, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 4, 5, 6, NA, NA,  // tzcnt_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x66, 0x0f, 0xbc, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 10, 2, 0, 4, 5, 6, NA, NA,  // tzcnt_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xbc, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 4, NA, 5, NA, NA,  // tzcnt_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x66, 0x0f, 0xbc, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 4, NA, NA, NA, NA,  // tzcnt_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0xf3, 0x66, 0x0f, 0xbc, 0xc0},
   {0xff, 0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 3, 0, 3, NA, NA, NA, NA,  // tzcnt_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0xbc, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // tzcnt_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbc, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 3, 0, 3, NA, 4, NA, NA,  // tzcnt_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0xbc, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 3, 0, 3, 4, NA, NA, NA,  // tzcnt_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0xbc, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 3, 0, 3, 4, 5, NA, NA,  // tzcnt_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbc, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 3, 0, 3, 4, 5, NA, NA,  // tzcnt_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0xbc, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 3, 0, 3, 4, 5, NA, NA,  // tzcnt_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbc, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 3, 0, 3, NA, 4, NA, NA,  // tzcnt_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbc, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // tzcnt_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0xf3, 0x0f, 0xbc, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 1, 3, NA, NA, NA, NA,  // tzcnt_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0xf3, 0x0f, 0xbc, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // tzcnt_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbc, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 1, 3, NA, 4, NA, NA,  // tzcnt_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0xf3, 0x0f, 0xbc, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 1, 3, 4, NA, NA, NA,  // tzcnt_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0xf3, 0x0f, 0xbc, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 1, 3, 4, 5, NA, NA,  // tzcnt_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbc, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 1, 3, 4, 5, NA, NA,  // tzcnt_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0xf3, 0x0f, 0xbc, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 1, 3, 4, 5, NA, NA,  // tzcnt_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbc, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 1, 3, NA, 4, NA, NA,  // tzcnt_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0xf3, 0x0f, 0xbc, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 1, 3, NA, NA, NA, NA,  // tzcnt_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0xf3, 0x0f, 0xbc, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 4, 4, 0, 3, NA, NA, NA, NA,  // ucomisd_x_mB
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE},
   {0x66, 0x0f, 0x2e, 0x00},
   {0xff, 0xff, 0xff, 0xc0}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // ucomisd_x_mB32
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x2e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 5, 4, 0, 3, NA, 4, NA, NA,  // ucomisd_x_mB8
   {OK::MODRM_XREG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x0f, 0x2e, 0x40, 0x00},
   {0xff, 0xff, 0xff, 0xc0, 0x00}},
  {4, 5, 4, 0, 3, 4, NA, NA, NA,  // ucomisd_x_mbis
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x0f, 0x2e, 0x04, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00}},
  {5, 9, 4, 0, 3, 4, 5, NA, NA,  // ucomisd_x_mbis32
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x2e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 4, 0, 3, 4, 5, NA, NA,  // ucomisd_x_mbis8
   {OK::MODRM_XREG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x0f, 0x2e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 9, 4, 0, 3, 4, 5, NA, NA,  // ucomisd_x_mi32
   {OK::MODRM_XREG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x0f, 0x2e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 4, 0, 3, NA, 4, NA, NA,  // ucomisd_x_mpc32
   {OK::MODRM_XREG64, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x0f, 0x2e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 4, 0, 0, 3, NA, NA, NA, NA,  // ucomisd_x_mx
   {OK::MODRM_XREG64, OK::MODRM_RM_XREG64},
   {0x66, 0x0f, 0x2e, 0xc0},
   {0xff, 0xff, 0xff, 0xc0}},
  {2, 3, 3, 0, 2, NA, NA, NA, NA,  // ucomiss_x_mB
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE},
   {0x0f, 0x2e, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // ucomiss_x_mB32
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x0f, 0x2e, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 2, NA, 3, NA, NA,  // ucomiss_x_mB8
   {OK::MODRM_XREG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x0f, 0x2e, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 3, 0, 2, 3, NA, NA, NA,  // ucomiss_x_mbis
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x0f, 0x2e, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 3, 0, 2, 3, 4, NA, NA,  // ucomiss_x_mbis32
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x2e, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 2, 3, 4, NA, NA,  // ucomiss_x_mbis8
   {OK::MODRM_XREG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x0f, 0x2e, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 3, 0, 2, 3, 4, NA, NA,  // ucomiss_x_mi32
   {OK::MODRM_XREG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x0f, 0x2e, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 2, NA, 3, NA, NA,  // ucomiss_x_mpc32
   {OK::MODRM_XREG32, OK::RIP_BASE, OK::OFFABS32},
   {0x0f, 0x2e, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // ucomiss_x_mx
   {OK::MODRM_XREG32, OK::MODRM_RM_XREG32},
   {0x0f, 0x2e, 0xc0},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // xchg_16_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x87, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // xchg_16_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x87, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // xchg_16_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG16},
   {0x66, 0x87, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // xchg_16_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x87, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // xchg_16_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x87, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // xchg_16_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16},
   {0x66, 0x87, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // xchg_16_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x87, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // xchg_16_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x87, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // xchg_16_mr_r
   {OK::MODRM_RM_REG16, OK::MODRM_REG16},
   {0x66, 0x87, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 2, 0, 0, NA, NA, NA, NA, 1,  // xchg_16_r_ax
   {OK::BYTE_WITH_REG16, OK::IMPLICIT_AX},
   {0x66, 0x90},
   {0xff, 0xf8}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // xchg_32_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x87, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // xchg_32_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32},
   {0x87, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // xchg_32_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG32},
   {0x87, 0x00},
   {0xff, 0xc0}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // xchg_32_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x87, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // xchg_32_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32},
   {0x87, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // xchg_32_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32},
   {0x87, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // xchg_32_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x87, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // xchg_32_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x87, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // xchg_32_mr_r
   {OK::MODRM_RM_REG32, OK::MODRM_REG32},
   {0x87, 0xc0},
   {0xff, 0xc0}},
  {2, 1, 0, 0, NA, NA, NA, NA, 0,  // xchg_32_r_eax
   {OK::BYTE_WITH_REG32, OK::IMPLICIT_EAX},
   {0x90},
   {0xf8}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // xchg_64_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x87, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // xchg_64_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64},
   {0x87, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // xchg_64_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG64},
   {0x87, 0x00},
   {0xff, 0xc0}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // xchg_64_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x87, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // xchg_64_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64},
   {0x87, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // xchg_64_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64},
   {0x87, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // xchg_64_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x87, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // xchg_64_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x87, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // xchg_64_mr_r
   {OK::MODRM_RM_REG64, OK::MODRM_REG64},
   {0x87, 0xc0},
   {0xff, 0xc0}},
  {2, 1, 0, 1, NA, NA, NA, NA, 0,  // xchg_64_r_rax
   {OK::BYTE_WITH_REG64, OK::IMPLICIT_RAX},
   {0x90},
   {0xf8}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // xchg_8_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x86, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // xchg_8_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8},
   {0x86, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // xchg_8_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG8},
   {0x86, 0x00},
   {0xff, 0xc0}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // xchg_8_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x86, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // xchg_8_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8},
   {0x86, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // xchg_8_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8},
   {0x86, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // xchg_8_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x86, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // xchg_8_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x86, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // xchg_8_mr_r
   {OK::MODRM_RM_REG8, OK::MODRM_REG8},
   {0x86, 0xc0},
   {0xff, 0xc0}},
  {2, 4, 0, 0, NA, NA, NA, 2, NA,  // xor_16_ax_imm16
   {OK::IMPLICIT_AX, OK::IMM16},
   {0x66, 0x35, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // xor_16_mB32_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // xor_16_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // xor_16_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x31, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 2, 0, 2, NA, 3, 4, NA,  // xor_16_mB8_imm16
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x70, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00, 0x00}},
  {3, 5, 2, 0, 2, NA, 3, 4, NA,  // xor_16_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x70, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // xor_16_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x31, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {2, 5, 2, 0, 2, NA, NA, 3, NA,  // xor_16_mB_imm16
   {OK::MODRM_RM_BASE, OK::IMM16},
   {0x66, 0x81, 0x30, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 2, 0, 2, NA, NA, 3, NA,  // xor_16_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_16},
   {0x66, 0x83, 0x30, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // xor_16_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG16},
   {0x66, 0x31, 0x00},
   {0xff, 0xff, 0xc0}},
  {5, 10, 2, 0, 2, 3, 4, 8, NA,  // xor_16_mbis32_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 9, 2, 0, 2, 3, 4, 8, NA,  // xor_16_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // xor_16_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x31, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 2, 0, 2, 3, 4, 5, NA,  // xor_16_mbis8_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM16},
   {0x66, 0x81, 0x74, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00}},
  {5, 6, 2, 0, 2, 3, 4, 5, NA,  // xor_16_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_16},
   {0x66, 0x83, 0x74, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // xor_16_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG16},
   {0x66, 0x31, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 6, 2, 0, 2, 3, NA, 4, NA,  // xor_16_mbis_imm16
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM16},
   {0x66, 0x81, 0x34, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00}},
  {4, 5, 2, 0, 2, 3, NA, 4, NA,  // xor_16_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_16},
   {0x66, 0x83, 0x34, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // xor_16_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG16},
   {0x66, 0x31, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {4, 10, 2, 0, 2, 3, 4, 8, NA,  // xor_16_mi32_imm16
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 9, 2, 0, 2, 3, 4, 8, NA,  // xor_16_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // xor_16_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x31, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 9, 2, 0, 2, NA, 3, 7, NA,  // xor_16_mpc32_imm16
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM16},
   {0x66, 0x81, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 8, 2, 0, 2, NA, 3, 7, NA,  // xor_16_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_16},
   {0x66, 0x83, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // xor_16_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG16},
   {0x66, 0x31, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 5, 0, 0, 2, NA, NA, 3, NA,  // xor_16_mr_imm16
   {OK::MODRM_RM_REG16, OK::IMM16},
   {0x66, 0x81, 0xf0, 0x00, 0x00},
   {0xff, 0xff, 0xf8, 0x00, 0x00}},
  {2, 4, 0, 0, 2, NA, NA, 3, NA,  // xor_16_mr_imm8
   {OK::MODRM_RM_REG16, OK::IMM8_16},
   {0x66, 0x83, 0xf0, 0x00},
   {0xff, 0xff, 0xf8, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // xor_16_mr_r
   {OK::MODRM_RM_REG16, OK::MODRM_REG16},
   {0x66, 0x31, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 3, 2, 0, 2, NA, NA, NA, NA,  // xor_16_r_mB
   {OK::MODRM_REG16, OK::MODRM_RM_BASE},
   {0x66, 0x33, 0x00},
   {0xff, 0xff, 0xc0}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // xor_16_r_mB32
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x66, 0x33, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 2, 0, 2, NA, 3, NA, NA,  // xor_16_r_mB8
   {OK::MODRM_REG16, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x66, 0x33, 0x40, 0x00},
   {0xff, 0xff, 0xc0, 0x00}},
  {4, 4, 2, 0, 2, 3, NA, NA, NA,  // xor_16_r_mbis
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x66, 0x33, 0x04, 0x00},
   {0xff, 0xff, 0xc7, 0x00}},
  {5, 8, 2, 0, 2, 3, 4, NA, NA,  // xor_16_r_mbis32
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x33, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 2, 0, 2, 3, 4, NA, NA,  // xor_16_r_mbis8
   {OK::MODRM_REG16, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x66, 0x33, 0x44, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00}},
  {4, 8, 2, 0, 2, 3, 4, NA, NA,  // xor_16_r_mi32
   {OK::MODRM_REG16, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x66, 0x33, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 2, 0, 2, NA, 3, NA, NA,  // xor_16_r_mpc32
   {OK::MODRM_REG16, OK::RIP_BASE, OK::OFFABS32},
   {0x66, 0x33, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 2, NA, NA, NA, NA,  // xor_16_r_mr
   {OK::MODRM_REG16, OK::MODRM_RM_REG16},
   {0x66, 0x33, 0xc0},
   {0xff, 0xff, 0xc0}},
  {2, 5, 0, 0, NA, NA, NA, 1, NA,  // xor_32_eax_imm32
   {OK::IMPLICIT_EAX, OK::IMM32},
   {0x35, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // xor_32_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // xor_32_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // xor_32_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x31, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 3, NA,  // xor_32_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 3, 0, 1, NA, 2, 3, NA,  // xor_32_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x70, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // xor_32_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG32},
   {0x31, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 3, 0, 1, NA, NA, 2, NA,  // xor_32_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32},
   {0x81, 0x30, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 3, 0, 1, NA, NA, 2, NA,  // xor_32_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_32},
   {0x83, 0x30, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // xor_32_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG32},
   {0x31, 0x00},
   {0xff, 0xc0}},
  {5, 11, 3, 0, 1, 2, 3, 7, NA,  // xor_32_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 7, NA,  // xor_32_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // xor_32_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x31, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 3, 0, 1, 2, 3, 4, NA,  // xor_32_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32},
   {0x81, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 3, 0, 1, 2, 3, 4, NA,  // xor_32_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_32},
   {0x83, 0x74, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // xor_32_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG32},
   {0x31, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, NA, 3, NA,  // xor_32_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32},
   {0x81, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 3, 0, 1, 2, NA, 3, NA,  // xor_32_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_32},
   {0x83, 0x34, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // xor_32_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG32},
   {0x31, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 3, 0, 1, 2, 3, 7, NA,  // xor_32_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 3, 0, 1, 2, 3, 7, NA,  // xor_32_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // xor_32_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG32},
   {0x31, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 3, 0, 1, NA, 2, 6, NA,  // xor_32_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32},
   {0x81, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 3, 0, 1, NA, 2, 6, NA,  // xor_32_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_32},
   {0x83, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // xor_32_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG32},
   {0x31, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 0, 1, NA, NA, 2, NA,  // xor_32_mr_imm32
   {OK::MODRM_RM_REG32, OK::IMM32},
   {0x81, 0xf0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // xor_32_mr_imm8
   {OK::MODRM_RM_REG32, OK::IMM8_32},
   {0x83, 0xf0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // xor_32_mr_r
   {OK::MODRM_RM_REG32, OK::MODRM_REG32},
   {0x31, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 3, 0, 1, NA, NA, NA, NA,  // xor_32_r_mB
   {OK::MODRM_REG32, OK::MODRM_RM_BASE},
   {0x33, 0x00},
   {0xff, 0xc0}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // xor_32_r_mB32
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x33, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 3, 0, 1, NA, 2, NA, NA,  // xor_32_r_mB8
   {OK::MODRM_REG32, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x33, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 3, 0, 1, 2, NA, NA, NA,  // xor_32_r_mbis
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x33, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 3, 0, 1, 2, 3, NA, NA,  // xor_32_r_mbis32
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x33, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 3, 0, 1, 2, 3, NA, NA,  // xor_32_r_mbis8
   {OK::MODRM_REG32, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x33, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 3, 0, 1, 2, 3, NA, NA,  // xor_32_r_mi32
   {OK::MODRM_REG32, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x33, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 3, 0, 1, NA, 2, NA, NA,  // xor_32_r_mpc32
   {OK::MODRM_REG32, OK::RIP_BASE, OK::OFFABS32},
   {0x33, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // xor_32_r_mr
   {OK::MODRM_REG32, OK::MODRM_RM_REG32},
   {0x33, 0xc0},
   {0xff, 0xc0}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // xor_64_mB32_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // xor_64_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // xor_64_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x31, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 3, NA,  // xor_64_mB8_imm32
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 4, 1, 1, NA, 2, 3, NA,  // xor_64_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x70, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // xor_64_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG64},
   {0x31, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 6, 4, 1, 1, NA, NA, 2, NA,  // xor_64_mB_imm32
   {OK::MODRM_RM_BASE, OK::IMM32_64},
   {0x81, 0x30, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 4, 1, 1, NA, NA, 2, NA,  // xor_64_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8_64},
   {0x83, 0x30, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // xor_64_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG64},
   {0x31, 0x00},
   {0xff, 0xc0}},
  {5, 11, 4, 1, 1, 2, 3, 7, NA,  // xor_64_mbis32_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 7, NA,  // xor_64_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // xor_64_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x31, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 8, 4, 1, 1, 2, 3, 4, NA,  // xor_64_mbis8_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM32_64},
   {0x81, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 4, 1, 1, 2, 3, 4, NA,  // xor_64_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8_64},
   {0x83, 0x74, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // xor_64_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG64},
   {0x31, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, NA, 3, NA,  // xor_64_mbis_imm32
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM32_64},
   {0x81, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 4, 4, 1, 1, 2, NA, 3, NA,  // xor_64_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8_64},
   {0x83, 0x34, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // xor_64_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG64},
   {0x31, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 11, 4, 1, 1, 2, 3, 7, NA,  // xor_64_mi32_imm32
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 8, 4, 1, 1, 2, 3, 7, NA,  // xor_64_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // xor_64_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG64},
   {0x31, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 10, 4, 1, 1, NA, 2, 6, NA,  // xor_64_mpc32_imm32
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM32_64},
   {0x81, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 4, 1, 1, NA, 2, 6, NA,  // xor_64_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8_64},
   {0x83, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // xor_64_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG64},
   {0x31, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 6, 0, 1, 1, NA, NA, 2, NA,  // xor_64_mr_imm32
   {OK::MODRM_RM_REG64, OK::IMM32_64},
   {0x81, 0xf0, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 1, 1, NA, NA, 2, NA,  // xor_64_mr_imm8
   {OK::MODRM_RM_REG64, OK::IMM8_64},
   {0x83, 0xf0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // xor_64_mr_r
   {OK::MODRM_RM_REG64, OK::MODRM_REG64},
   {0x31, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 4, 1, 1, NA, NA, NA, NA,  // xor_64_r_mB
   {OK::MODRM_REG64, OK::MODRM_RM_BASE},
   {0x33, 0x00},
   {0xff, 0xc0}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // xor_64_r_mB32
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x33, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 4, 1, 1, NA, 2, NA, NA,  // xor_64_r_mB8
   {OK::MODRM_REG64, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x33, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 4, 1, 1, 2, NA, NA, NA,  // xor_64_r_mbis
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x33, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 4, 1, 1, 2, 3, NA, NA,  // xor_64_r_mbis32
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x33, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 4, 1, 1, 2, 3, NA, NA,  // xor_64_r_mbis8
   {OK::MODRM_REG64, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x33, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 4, 1, 1, 2, 3, NA, NA,  // xor_64_r_mi32
   {OK::MODRM_REG64, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x33, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 4, 1, 1, NA, 2, NA, NA,  // xor_64_r_mpc32
   {OK::MODRM_REG64, OK::RIP_BASE, OK::OFFABS32},
   {0x33, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 1, 1, NA, NA, NA, NA,  // xor_64_r_mr
   {OK::MODRM_REG64, OK::MODRM_RM_REG64},
   {0x33, 0xc0},
   {0xff, 0xc0}},
  {2, 5, 0, 1, NA, NA, NA, 1, NA,  // xor_64_rax_imm32
   {OK::IMPLICIT_RAX, OK::IMM32_64},
   {0x35, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, NA, NA, NA, 1, NA,  // xor_8_al_imm8
   {OK::IMPLICIT_AL, OK::IMM8},
   {0x34, 0x00},
   {0xff, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // xor_8_mB32_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // xor_8_mB32_r
   {OK::MODRM_RM_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x30, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 4, 1, 0, 1, NA, 2, 3, NA,  // xor_8_mB8_imm8
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x70, 0x00, 0x00},
   {0xff, 0xf8, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // xor_8_mB8_r
   {OK::MODRM_RM_BASE, OK::OFFABS8, OK::MODRM_REG8},
   {0x30, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {2, 3, 1, 0, 1, NA, NA, 2, NA,  // xor_8_mB_imm8
   {OK::MODRM_RM_BASE, OK::IMM8},
   {0x80, 0x30, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // xor_8_mB_r
   {OK::MODRM_RM_BASE, OK::MODRM_REG8},
   {0x30, 0x00},
   {0xff, 0xc0}},
  {5, 8, 1, 0, 1, 2, 3, 7, NA,  // xor_8_mbis32_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // xor_8_mbis32_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x30, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 5, 1, 0, 1, 2, 3, 4, NA,  // xor_8_mbis8_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::IMM8},
   {0x80, 0x74, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // xor_8_mbis8_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8, OK::MODRM_REG8},
   {0x30, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 4, 1, 0, 1, 2, NA, 3, NA,  // xor_8_mbis_imm8
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::IMM8},
   {0x80, 0x34, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // xor_8_mbis_r
   {OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::MODRM_REG8},
   {0x30, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {4, 8, 1, 0, 1, 2, 3, 7, NA,  // xor_8_mi32_imm8
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x34, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // xor_8_mi32_r
   {OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32, OK::MODRM_REG8},
   {0x30, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 7, 1, 0, 1, NA, 2, 6, NA,  // xor_8_mpc32_imm8
   {OK::RIP_BASE, OK::OFFABS32, OK::IMM8},
   {0x80, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // xor_8_mpc32_r
   {OK::RIP_BASE, OK::OFFABS32, OK::MODRM_REG8},
   {0x30, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 3, 0, 0, 1, NA, NA, 2, NA,  // xor_8_mr_imm8
   {OK::MODRM_RM_REG8, OK::IMM8},
   {0x80, 0xf0, 0x00},
   {0xff, 0xf8, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // xor_8_mr_r
   {OK::MODRM_RM_REG8, OK::MODRM_REG8},
   {0x30, 0xc0},
   {0xff, 0xc0}},
  {2, 2, 1, 0, 1, NA, NA, NA, NA,  // xor_8_r_mB
   {OK::MODRM_REG8, OK::MODRM_RM_BASE},
   {0x32, 0x00},
   {0xff, 0xc0}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // xor_8_r_mB32
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS32},
   {0x32, 0x80, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc0, 0x00, 0x00, 0x00, 0x00}},
  {3, 3, 1, 0, 1, NA, 2, NA, NA,  // xor_8_r_mB8
   {OK::MODRM_REG8, OK::MODRM_RM_BASE, OK::OFFABS8},
   {0x32, 0x40, 0x00},
   {0xff, 0xc0, 0x00}},
  {4, 3, 1, 0, 1, 2, NA, NA, NA,  // xor_8_r_mbis
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE},
   {0x32, 0x04, 0x00},
   {0xff, 0xc7, 0x00}},
  {5, 7, 1, 0, 1, 2, 3, NA, NA,  // xor_8_r_mbis32
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS32},
   {0x32, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00}},
  {5, 4, 1, 0, 1, 2, 3, NA, NA,  // xor_8_r_mbis8
   {OK::MODRM_REG8, OK::SIB_BASE, OK::SIB_INDEX, OK::SIB_SCALE, OK::OFFABS8},
   {0x32, 0x44, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00}},
  {4, 7, 1, 0, 1, 2, 3, NA, NA,  // xor_8_r_mi32
   {OK::MODRM_REG8, OK::SIB_INDEX_AS_BASE, OK::SIB_SCALE, OK::OFFABS32},
   {0x32, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x07, 0x00, 0x00, 0x00, 0x00}},
  {3, 6, 1, 0, 1, NA, 2, NA, NA,  // xor_8_r_mpc32
   {OK::MODRM_REG8, OK::RIP_BASE, OK::OFFABS32},
   {0x32, 0x05, 0x00, 0x00, 0x00, 0x00},
   {0xff, 0xc7, 0x00, 0x00, 0x00, 0x00}},
  {2, 2, 0, 0, 1, NA, NA, NA, NA,  // xor_8_r_mr
   {OK::MODRM_REG8, OK::MODRM_RM_REG8},
   {0x32, 0xc0},
   {0xff, 0xc0}},
};

